Симон Робинсон - C# для профессионалов. Том II

Тут можно читать онлайн Симон Робинсон - C# для профессионалов. Том II - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Лори, год 2003. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# для профессионалов. Том II
  • Автор:
  • Жанр:
  • Издательство:
    Лори
  • Год:
    2003
  • Город:
    Москва
  • ISBN:
    5-85582-187-0
  • Рейтинг:
    4.88/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Симон Робинсон - C# для профессионалов. Том II краткое содержание

C# для профессионалов. Том II - описание и краткое содержание, автор Симон Робинсон, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
C# для профессионалов

Платформа .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 - читать онлайн бесплатно полную версию (весь текст целиком)

C# для профессионалов. Том II - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Добавление регистрации событий

Если свойство AutoLogкласса ServiceBaseзадано как true, то автоматически включается регистрация событий. Класс ServiceBaseрегистрирует информационное событие при запросах службы для запуска, остановки, паузы и продолжения. В классе ServiceInstallerсоздается экземпляр EventLogInstaller, чтобы сконфигурировать источник журнала событий. Этот источник журнала событий имеет такое же имя, как и служба. Для записи события используем статический метод WriteEntry()класса EventLog. Свойство Sourceбыло уже задано в классе ServiceBase:

EventLog.WriteEntry("event log message");

Этот метод регистрирует информационное событие. Если должно быть создано событие предупреждения или ошибки, то для определения этого типа используется перезагруженный метод WriteEvent():

EventLog.WriteEntry("event log message", EventLogEntryType.Warning);

EventLog.WriteEntry("event log message", EventLogEntryType.Error);

Добавление регистрации событий в другие типы приложений

Для служб класс ServiceBaseавтоматически добавляет свойства регистрации событий. Если желательно использовать регистрацию событий в других типах приложений, это легко делается с помощью Visual Studio.NET.

Используйте ToolBox для добавления компонента EventLogв конструктор.

Задайте свойство Logкомпонента EventLogкак Application, а свойство Sourceкак выбранное имя. Обычно это бывает имя приложения, которое показано в Event View.

□ Теперь можно записать журналы с помощью метода WriteEntry()экземпляра EventLog.

□ Можно добавить программу установки из пункта контекстного меню Add Installer компонента EventLog. Это создает класс ProjectInstaller, который конфигурирует источник событий в реестре.

□ С помощью команды installutilтеперь можно зафиксировать приложение, installutilвызывает класс ProjectInstallerи регистрирует источник событий.

Для установки типа хсору последние два шага на самом деле не нужны. Если задано свойство Sourceэкземпляра EventLog, источник автоматически регистрируется, когда журнал событий заполняется в первый раз. Это действительно легко сделать, но для реального приложения предпочтительнее добавить программу установки: с помощью installutil /uконфигурация регистрации событий отменяется. Если приложение просто удаляется, этот ключ реестра остается, если не будет вызван метод EventLog.DeleteEventSource().

Трассировка

Можно сделать так, чтобы все сообщения трассировки направлялись в журнал событий. На самом деле это не нужно, так как в нормально работающей системе журнал событий будет перегружен сообщениями трассировки. Системный администратор пропустит действительно важные записи, если это произойдет. Помните, что тип записи события — это ошибка, предупреждение и информационное. При этом информационные сообщения редко являются информацией об успехе. Включение трассировочных сообщений в журнал событий может быть полезным свойством для тестирования проблемных служб. Трассировка возможна как с отладочным, так и с окончательным кодом.

Чтобы послать трассировочные сообщения в журнал событий, должен быть создан объект EventLogTraceListenerи добавлен в список приемника класса Trace:

EventLogTraceListener listener = new EventLogTraceListener(eventLog1);

Trace.Listeners.Add(listener);

Теперь все трассировочные сообщения посылаются в журнал событий:

Trace.WriteLine("trace message");

Дополнительная информация о методах трассировки находится в главе 6.

Создание приемника событий

Теперь было бы полезно создать приложение, которое получает событие, когда в службе происходит что-то плохое. Мы создадим простое оконное приложение, отслеживающее события службы Quote:

Оконное приложение имеет только окно списка и кнопку выхода:

Компонент EventLogдобавляется в этот проект перетаскиванием его из панели - фото 156

Компонент EventLogдобавляется в этот проект перетаскиванием его из панели инструментов. Свойство Logзадается как Application, a Sourceкак источник службы QuoteService. Класс EventLogтакже имеет свойство EnableRaisingEvents. До сих пор мы не говорили об этом свойстве. По умолчанию для него используется значение false, задание его как true означает, что событие создается каждый раз, когда происходит это событие, и можно написать обработчик событий для оконного события EntryWritten.

В файле EventListener.csсвойства задаются в методе InitializeComponent():

private void InitializeComponent() {

this.eventLogQuote = new System.Diagnostics.EventLog();

this.buttonExit = new System.Windows.Forms.Button();

this.listBoxEvents = new System.Windows.Forms.ListBox();

((System.ComponentModel.ISupportInitialize)

(this.eventLogQuote)).BeginInit();

this.SuspendLayout();

//

// eventLogQuote

//

this.eventLogQuote.EnableRaisingEvents = true;

this.eventLogQuote.Log = "Application";

this.eventLogQuote.Source = "QuoteService";

this.eventLogQuote.SynchronizingObject = this;

this.eventLogQuote.EntryWritten +=

new System.Diagnostics.EntryWrittenEventHandler(this.OnEntryWritten);

// ...

Программа обработки OnEntryWritten()получает объект EntryWrittenEventArgsв качестве аргумента, где можно получить всю информацию из события. С помощью свойства Entryмы получаем объект EventLogEntryс информацией о времени, источнике события, типе, категории и т. д.:

protected void OnEntryWritten(object sender, System.Diagnostics.EntryWrittenEventArgs e) {

DateTime time = e.Entry.TimeGenerated;

string message = e.Entry.Message;

listBoxEvents.Items.Add(time + " " + message);

}

Выполняющееся приложение показывает все события для QuoteService:

Мониторинг производительности Мониторинг производительности может - фото 157

Мониторинг производительности

Мониторинг производительности может использоваться для получения информации о нормальном выполнении службы. Это прекрасный инструмент, который помогает понять нагрузку системы и наблюдать изменения и тенденции.

Windows 2000 имеет множество объектов производительности, таких как System, Memory, Objects, Process, Processor, Thread, Cacheи т. д. Каждый из этих объектов имеет множество показателей для мониторинга. С помощью объекта Process для всех процессов или для определенных экземпляров процессов можно контролировать время пользователя, счетчик дескрипторов. Ошибки страниц, счетчик потоков выполнения и т. д. В некоторых приложениях также имеются специфические объекты, например SQL Server.

Для нашей службы цитат может представлять интерес получение информации о числе клиентских запросов, размере данных, посылаемых по каналам связи, и т.д.

Классы мониторинга производительности

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Симон Робинсон читать все книги автора по порядку

Симон Робинсон - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# для профессионалов. Том II отзывы


Отзывы читателей о книге C# для профессионалов. Том II, автор: Симон Робинсон. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x