Симон Робинсон - C# для профессионалов. Том II
- Название:C# для профессионалов. Том II
- Автор:
- Жанр:
- Издательство:Лори
- Год:2003
- Город:Москва
- ISBN:5-85582-187-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Симон Робинсон - C# для профессионалов. Том II краткое содержание
Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.
В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.
Для кого предназначена эта книгаЭта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.
Основные темы книги• Все особенности языка C#
• C# и объектно-ориентированное программирование
• Приложения и службы Windows
• Создание web-страниц и web-служб с помощью ASP NET
• Сборки .NET
• Доступ к данным при помощи ADO NET
• Создание распределённых приложений с помощью NET Remoting
• Интеграция с COM, COM+ и службой Active Directory
C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
public delegate void Option EventHandler(object sender, OptionEventArgs e);
Можно использовать эти примеры в StrawPoll
следующим образом:
public class StrawPoll : System.Web.UI.WebControls.WebControl, INamingContainer {
private string title = "Straw Poll";
private pollStyle currentPollStyle = pollStyle.voteandvalues;
public event OptionEventHandler Voted;
protected void OnVoted(OptionEventArgs e) {
Voted(this, e);
}
Также мы имеем метод для инициирования события, вызываемый из элементов управления потомков Option
при нажатии кнопки голосования:
public void ChildVote(OptionEventArgs e) {
OnVoted(e);
}
Наконец, нужно сделать дальнейшую модификацию обработчика события кнопки голосования в Option
, чтобы вызывать этот метод, задавая для него правильные параметры:
protected void btnVote_Click(object sender, System.EventArgs e) {
Increment();
StrawPoll parent = (StrawPoll)Parent;
if (parent.PollStyle == pollStyle.voteonly) {
parent.PollStyle = pollStyle.valuesonly;
}
OptionEventArgs eOption = new OptionEventArgs();
eOption.originatingOption = this;
parent.ChildVote(eOption);
}
Теперь можно реализовать обработчик событий на странице с помощью элемента управления. Мы должны просто определить его на странице ASP.NET, добавляя метку для использования в обработчике.
title="Who is your favorite James Bond?"
Runat="server" OnVoted="strawPoll1_OnVoted" PollStyle="voteonly">
вместе со связанным объявлением в скрытом коде формы, если он не добавляется автоматически:
public class WebForm1 : System.Web.UI. Page {
protected StrawPoll strawPoll1;
Затем сделаем что-нибудь в самом обработчике событий:
protected void strawPoll1_OnVoted(object sender, OptionEventArgs e) {
result.Label.Text = "You voted for " + e.originatingOption.Name + ".";
}
Теперь, после голосования мы получаем ответную реакцию на наш голос:

Заключение
В этой главе были рассмотрены различные способы создания повторно используемых серверных элементов управления ASP.NET с помощью C#. Мы увидели, как создаются простые элементы управления пользователя из существующих страниц ASP.NET, а также специальные элементы.
С помощью специальных элементов управления можно сделать много разных вещей, но, к сожалению, невозможно рассмотреть все это в одной главе. Однако здесь представлено достаточно информации, чтобы можно было начать. В частности, было бы интересно посмотреть на связывание данных и на то, как можно создавать свои собственные элементы, использующие эту возможность. Также было бы полезно рассмотреть более подробно некоторые области (например, расширить рассмотрение свойств и конструкторов элементов управления). Хотя такие вопросы лучше подходят для более специализированных книг.
Эта глава завершает три главы, посвященные Web. Далее мы перейдем к рассмотрению взаимодействия COM и .NET.
Глава 19
Взаимодействие с COM
Компоненты COM и компоненты .NET не являются по своей природе совместимыми, так как они опираются на различные внутренние архитектуры. К счастью, однако, компания Microsoft предоставляет средства в SDK .NET для создания прокси COM для компонентов .NET и прокси .NET для компонентов COM. Используя эти прокси вместе с парой других технологий, организации могут использовать унаследованные компоненты COM в своих проектах .NET и могут также использовать компоненты .NET в своих приложениях, не являющихся приложениями .NET.
В этой главе будет показано, как достичь взаимодействия между COM и .NET, что поможет понять, почему COM и .NET будут играть различные, но жизненно важные роли в будущих приложениях Windows.
Сравнение COM и .NET
COM обозначает "Компонентная объектная модель" (Component Object Model). Для новичков платформы Windows понимание того, что делает COM, может быть трудным, а понимание того, как она действует, может показаться почти невозможным. Для новичков, не интересующихся созданием драйверов устройств или работой на компанию Microsoft, появление .NET и компонентов .NET позволит избежать сложностей программирования COM. Однако, так как COM была до сегодняшнего дня все же существенной частью программирования Windows, желательно быть знакомым с тем, как она действует и какие преимущества она предоставляет.
Повторное использование кода является одной из священных идей разработки программного обеспечения, и ранее разработчики добивались этого, поддерживая файлы стандартных функций. Когда разработчик хотел использовать стандартную функцию в одной из своих программ, он использовал инструкцию #include для соединения библиотечного файла и файла основной программы. После компиляции стандартные функции и программа, которая их вызывала, статически компоновались в один исполнимый файл.
Существует, по крайней мере, два недостатка у статической компоновки: она требует излишнего пространства памяти, размещая избыточные копии идентичных функций в нескольких исполнимых файлах, и, если обнаруживается ошибка в одной из стандартных функций, требуется перекомпиляция и повторное распространение всех исполнимых файлов, использующих эту функцию. Чтобы избежать таких проблем, разработчики нашли способ компилировать библиотеки функций в автономные двоичные файлы, которые могут динамически компоноваться различными исполнимыми файлами. С помощью этой схемы несколько исполнимых программ могут совместно использовать один и тот же двоичный файл динамически компонуемой библиотеки ( Dynamic Link Library, DLL). Если требуется исправить ошибку в служебной функции, можно просто распространить заново DLL, в которой находится эта функция, без перекомпиляции или повторного распространения всех исполнимых файлов, которые ее используют.
Несмотря на свое удобство и эффективность, DLL имеют один серьезный недостаток: они зависят от конкретного языка программирования. Другими словами, DLL, компилированная из исходного кода С, может использоваться только из клиентской программы, которая также была написана на С. (Существуют исключения из этого правила, но такие исключения требуют от программиста специальных усилий).
COM была следующим шагом в эволюции повторного использования кода. С ее помощью программисты могли написать библиотеку классов на таком языке, как C++, откомпилировать библиотеку и использовать классы этой библиотеки из другого совместимого с COM языка программирования, такого как Delphi или Visual Basic. COM был технологией, лежащей в основе других технологий, таких как OLE (Связывание и встраивание объектов) и элементов управления ActiveX.
Службы COM+ — последняя версия технологии COM, первоначально известная как Сервер транзакций Microsoft, является частью операционной системы Windows 2000, которую компоненты COM могут использовать для общей, необходимой компонентам, функциональности: поддержки транзакций, обеспечения безопасности и события, что позволит сохранить программистам COM ценное время разработки. Более подробно об этом рассказывается в следующей главе.
Читать дальшеИнтервал:
Закладка: