Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 303

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 297 298 299 300 301 302 < 303 > 304 305 306 307 308 309 .. 320 >> Следующая

Как для любого проекта ASP.NET, при создании проекта Web Service Visual Studio.NET автоматически создаст виртуальный каталог для этого проекта на сервере IIS (рис. 15.2), а ненужные в этом каталоге файлы проекта *,sLn и *.suo разместит в подкаталоге \MyDocuments\VisuaL Studio Projects.
Если вы собираетесь при изучении этой главы использовать уже готовый исходный код, проще всего создать новый проект и импортировать туда готовые классы (чтобы не возиться с созданием виртуальных каталогов на [JS).
Что же создала для нас Visual Studio? Набор файлов, сгенерированных автоматически, представлен в окне Solution Explorer рис. 15.3.
Пример элементарной web-службы 753
Pjoject Types; templates: >*"--^
Ґ~І Visual Basic Projects : ^ Visual C# Projects Й) Q Visual c++ Projects q Setup and Deployment Projects e- 0 Other Projects q Visual Studio Solutions Ф J Web ! Application S* } # jWeb Control J Library -\
Console Application 'Windows Service Ernpt-j Project |
A project for creating Web services to use from other applications
rjame: I CAWobService
Location: . j btw№&*W Bjowse... I
Project will be created at
^Mor? OK Cancel Heb
Рис. 15, !.Создаем новый проект Web Sen/ice
-~ hi! <:-|їігЧнЇі?п л Services ' - і' І -int X
j fiction їй» [j <ь ¦+ | ?)1^] j X Ш ;¦ '
ISi > « И
Tree | Name • *
В Q :! a O jirhrate і аса vti cnf 1 Щ Q cgi-bin Ш О images ffi |. І O _yti„scrlpt і Щ Cj _aspx _І т хЯВВ -і Q|_vti_bin ? _ytlj5Vt C-I-VtLtXt Cj_rti .script Ca vtLcnf Саьт I*] CekWetService.tspro) CSprOJ.WabfjfO й Cat VfebServlcB_Debug. pro) data »|
¦і і >r
г
Рис. 15.2. Для web-службы будет автоматически создан виртуальный каталог на сервере IIS
С подавляющим большинством этих файлов мы уже познакомились в главе 14 - они общие для всех приложений ASP.NET. Вкратце перечислим назначение наиболее важных из них.
Файл Global.asax предназначен для организации реагирования на события глобального уровня (общие для всех сеансов подключения). Файл Web.config позволяет нам в формате XM L определить основные параметры приложения ASP.NE T (в данном случае нашей web-службы). Вся реальная работа у нас (как и в большинстве реальных проектов) будет производиться исключительно с тремя файлами: *.asmx, '.asmx.csи *.disco.
754 Глава 15
Web-службы
Ч.ііііі 1¦''ii I i<|ilr;n;r - I. air We(»Si-ivi[,-
El
project)
Q Solution 'CafcWsLSs vi:«' (1 i-i фі CalcWebService
Fi <St References
- *Q System •O System. Data
- ¦»O System.Web • ¦¦.-i System vV^b.Services

...j bin
*?] Assembly Infa -cs CalcWeb5ervk:e. disco ] CalcWebService_Debug.proJdata 3) Global.asax
Qobal.aMx.es
- *U] Servicel.asmx.es lUWab.corflg
Рис. 15.3. Исходный набор файлов проекта
Таблица 15.3. Наиболее важные файлы проекта Web Service
Файл
Описание
Файл в XML-совместимом формате WSDL, в котором содержится информация о методах, предоставляемых пользователю, и на основе которого среда выполнения ASP.NET автоматически генерирует код HTML
».amsx.es Обычный исходный файл С#, в котором хранятся определения методов, предоставляемых пользователям web-службы. Файл *.asmx ссылается на соответствующий ему файл *.asmx,cs при помощи атрибута Codebehind
*.disco XML-совместимый файл с описанием web-служб, которые можно найти
по указанному адресу URL
Исходный файл для web-службы (*.asmx.cs)
Как уже говорилось Р предыдущих главах, одно из наиболее важных преимуществ ASP.NET — это возможность создавать web-приложения при помощи полнофунк-циональныхобъектно-ориентированныхязыковпрограммирования(внашемслу-чае С#), а не ограничиваться скриптами (как в классических ASP). Файл *.asmx можно представить себе как шаблон, на основе которого среда выполнения ASP.NET генерирует код HTML, передаваемый в браузер клиента. Для файла *.asmx при помощи атрибута Codebehind («код за сценой*) можно определить файл на «нормальном» языке программирования, в котором и будет реализована вся программная логика web-службы. В нашем случае для web-службы был выбран проект С#, поэтому и файл Codebehind *.asmx.cs, исходный файл С#.
Что же вложила в этот файл С# среда выполнения Visual Studio.NET? А вот что:
public class Servicel : Svstsm.Web.Services.WebService {
Пример элементарной web-службы 755
public ••- •r-. { InitialігеСолісетепЕСV } private void Initial IzeComponentO {} public override void DisposeO {}
}:
Ничего интересного, за одним существенным исключением: для класса в качестве базового был выбран класс System.Web.Services .WebService. Сразу оговоримся, что это совершенно необязательно. Мы вполне можем создать web-службу, обойдясь и без этого базового класса. Определение будет тем же самым, только наш класс будет теперь производиться напрямую от а
метод DisposeC) лучше закомментировать:
А я все равно web-служба public class Servicel {
public ServiceO { Initial izeComponentO: } private void Initial izeComponentO {} // public override void DisposeO {}
Предыдущая << 1 .. 297 298 299 300 301 302 < 303 > 304 305 306 307 308 309 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100