Симон Робинсон - 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 - читать книгу онлайн бесплатно, автор Симон Робинсон
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Установка службы

Служба должна конфигурироваться в реестре. Все службы можно найти в HKEY_LOCAL_MACHINE\System\CurrentControlSetServices. Записи реестра можно увидеть с помощью regedit. Там находятся тип службы, выводимое имя, путь доступа к исполняемому файлу, конфигурация запуска и т.д.

Эту конфигурацию можно сделать с помощью классов установки из пространства имен - фото 142

Эту конфигурацию можно сделать с помощью классов установки из пространства имен System.ServiceProcess.

Программы установки

Можно добавить программу установки в службу, переключаясь в представление конструктора в Visual Studio.NET и выбирая параметр Add Installer из контекстного меню. С помощью этого параметра создается новый класс ProjectInstallerи экземпляры ServiceProcessInstallerи ServiceInstaller:

Диаграмма классов установки для служб должна помочь пониманию созданного - фото 143

Диаграмма классов установки для служб должна помочь пониманию созданного мастером кода:

Помня об этой диаграмме пройдем через исходный код в файле - фото 144

Помня об этой диаграмме, пройдем через исходный код в файле ProjectInstaller.cs, созданный с помощью параметра Add Installer.

Класс Installer

Класс ProjectInstallerвыводится из класса System.Configuration.Install.Installer. Класс Installerявляется базовым классом для всех специальных классов установки. С его помощью создается установка на основе транзакций, при которой можно вернуться в предыдущее состояние, если установка отказывает. При откате все изменения, сделанные при установке, будут отменены. Как можно видеть на диаграмме, класс Installerимеет методы Install(), Commit(), Rollback()и Uninstall(), вызываемые из программ установки.

Атрибут RunInstaller(true)означает, что при установке сборки должен вызываться класс ProjectInstaller. Специальные программы установки действий, а также утилита installutil.exe(которая будет использоваться позднее) проверяют атрибут:

using System;

using System.Collections;

using System.ComponentModel;

using System.Configuration.Install;

namespace Wrox.ProfessionalCSharp {

///



/// Краткое описание ProjectInstaller

///

[RunInstaller(true)]

public class ProjectInstaller : System.Configuration.Install.Installer {

Классы ServiceProcessInstaller и ServiceInstaller

Аналогично приложениям Windows Forms метод InitializeComponent()вызывается внутри конструктора класса ProjectInstaller. В методе InitializeComponent()создается экземпляр класса ServiceProcessInstallerи класса ServiceInstaller. Оба эти класса выводятся из класса ComponentInstaller, который сам является Installer.

Классы, производные из ComponentInstaller, используются как части процесса установки. Помните, что служебный процесс может включать более одной службы. Класс ServiceProcessInstallerприменяется для части процесса установки, а класс ServiceInstallerдля части службы, поэтому один экземпляр ServiceInstallerтребуется для каждой службы. Если в процессе имеется три службы, то необходимо добавить дополнительные объекты ServiceInstaller, в таком случае понадобятся три экземпляра ServiceInstaller.

private System.ServiceProcess.ServiceProcessInstaller serviceProcessInstaller1;

private System.ServiceProcess.ServiceInstaller serviceInstaller1;

///



/// требуемые переменные конструктора.

///

private System.ComponentModel.Container components;

public ProjectInstaller() {

// Этот вызов затребован конструктором.

InitializeComponent();

// TODO: добавить инициализацию после вызова InitComponent

}

///



/// Требуемый метод для поддержки конструктора — не изменяйте

/// содержимое этого метода с помощью редактора кода.

///

private void InitializeComponent() {

this.serviceProcessInstaller1 =

new System.ServiceProcess.ServiceProcessInstaller();

this.serviceInstaller1 =

new System.ServiceProcess.ServiceInstaller();

//

// serviceProcessInstaller1

//

this.serviceProcessInstaller1.Password = null;

this.serviceProcessInstaller1.UserName = null;

//

// serviceInstaller1

//

this.serviceInstaller1.ServiceName = "QuoteService";

//

// ProjectInstaller

//

this.Installers.AddRange(

new System.Configuration.Install.Installer[] {

this.serviceProcessInstaller1, this.serviceInstaller1});

}

}

}

ServiceProcessInstallerустанавливает исполняемый файл, который реализует класс ServiceBase. ServiceProcessInstallerимеет свойства для всего процесса и для всех служб внутри процесса:

Свойства ServiceProcessInstaller
Username, Password Указывают учетную запись пользователя, с которой выполняется служба, если свойство RunUnderSystemAccountзадано как false.
Account С помощью этого свойства можно определить, будет ли служба выполняться с системной учетной записью.
HelpText Свойство только для чтения, которое возвращает справочный текст для задания имени пользователя и пароля.

ServiceInstallerявляется классом, необходимым для каждой службы. Он имеет свойства, уникальные для каждой службы внутри процесса: StartType, DisplayName, ServiceNameи ServiceDependedOn:

Свойства ServiceInstaller
StartType Указывает, запускается ли служба автоматически или вручную. Возможные значения: ServiceStartMode.Automatic, ServiceStartMode.Manual, ServiceStartMode.Disabled.
DisplayName Является именем службы, которое выводится пользователю. Это имя используется также многими утилитами управления для контроля и мониторинга службы.
ServiceName Является именем службы. Это значение должно быть идентично свойству ServiceNameкласса ServiceBaseв программе службы.
ServicesDependentOn Определяет массив служб, которые должны запускаться, прежде чем можно будет запустить эту службу. Когда служба запускается, все подчиненные службы запускаются автоматически.

Заметьте, что если изменяется имя службы в классе, производном от ServiceBase, то также необходимо изменить свойство ServiceNameв объекта ServiceInstaller.

Во время тестирования задавайте StartTypeкак Manual (вручную). Если остановка службы откажет, этот процесс нельзя уничтожить, так как он будет сконфигурирован для выполнения в контексте учетной записи System. Эту конфигурацию можно будет изменить позднее, когда все будет работать правильно.

ServiceInstallerDialog

Другим классом установки в пространстве имен System.ServiceProcess.Designявляется ServiceInstallerDialog. Если желательно, чтобы системный администратор вводил имя пользователя и пароль во время установки, может использоваться этот класс.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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