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

 

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

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

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

Возвращает ссылку на объект HttpContext. Этот объект можно использовать для получения разнообразной информации о контексте выполнения запроса на сервере IIS
Возвращает ссылку на объект HttpServerUtility, который можно использовать для получения информации о сервере, на котором выполняется запрос
Возвращает ссылку на объект HttpSessionState. Используется для получения информации о текущем сеансе подключения
Возвращает o6beKTASP.NET User, который может быть использован для получения информации о пользователе, работающем с web-службой, или, например,
для целей аутентификации
[WebService(Description = "The painfully simple web service" )] public class Servicel : System.Web.Services.WebService
Web Service Description Language (WSDL) 761
Web Service Description Language (WSDL)
Во всех программных технологиях, использующих межъязыковое взаимодействие, используются специальные средства для описания программных модулей и пі пов в них. В СОМ для этого применяется язык IDL, в обычных приложениях \' '!' -метаданные сборки (манифест) и типов. Для web-служб ASP.NET такое снег, альное средство также предусмотрено: это — WSDL.
WSDL (Web Service Description Language, язык описания web-служб) - это XML-совместимый язык, который полностью описывает для внешних ЕЛИЄЛ возможности web-служб, методы, которые клиенты могут вызвать, а также держку протоколов подключения к web-службам (HTTP-GET, HTTP-POST и SOAP). Сразу скажем, что код WSDL в ASP.NET генерируется автоматически. Например, в нашем примере WSDL-описание web-службы можно получить прямо из окна браузера. Если мы откроем в браузере страницу CaLcService.asmx, то в верхней части страницы будет гиперссылка Service Description (рис. 1.5.9). Перейдя по ней, можно прочитать код WSDL для нашей web-службы (рис, 15.10).
Поскольку код WSDL генерируется автоматически, мы имеем полное право и не думать о том, что там написано в коде WSDL для нашей web-службы. Досконально разбирать все возможности WSDL мы не будем, но все же обратим внимание на наиболее принципиальные моменты.
Прежде всего, любое определение web-службы на WSDL начинается с тега <rJefinitions>. Далее следуют ссылки на узлы, определяющие протоколы подключения к web-службе:
<?xml version="1.0" ?> definitions
xmlns:s»"http://www.w3.org/Z000/10/XMLSchema"
a formal definition, please
Рис. 15.9. Ссылка на отязиие web-службы в формате WSDL
762 Глава 15 • Web-службы
xml ns: http="http: //Schemas. xrnlsoap.org/wsdi/http/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:urt-"http://microsoft.com/urt/wsdl/text/"
xml ns: soep="http: //'schemas. xml soap. org/wsdl /soap/"
xmlns:soapenc="http://Schemas.xmlsoap.org/soap/encodi ng/"
xmlns:sQ="http://tempuri.org/" targetNamespace-"http://tempuri.org/"
xmlns-"http://schemas.xmlsoap.org/wsdl/">
'3http:/.bigiiiaiiu/'CakWebiJeivi(:e/CaltServite.astriH?WSl>L - Microsoft tnt. -ІПІ *l
Qle ?(4i !(lew Favorites Took. deip
Back - -> - Ф @) t2t! [^Personal Bar ^Search QiFavorites j 1?" ІЗ
Address Cl http://bigmanij/CalcWebService;calcServk:e.asmx?WSa C1GCp Ur*» "і
- <types> - cs: schema attributeFormDefault="qualifled" elementFormDefau)t="quelified" targe tNamespace="http://tempurl.org/"> - <s: element name="Add">. - <s:sequence:> <s: element name=V type="s:lnt" /> <s:elernent narne="y- type="s:lnt" /:> </s:sequEnce> </sxomplexType> </s;elernant> - <s:element name='AddResponse"> - <s: cornplexType> <s: element narr,e='AddResult" tvD8="s:lnt" /> _i І
hi
. Locd intranet 4
Рис. 15.10. А это — само описание web-службы в формате WSDL
За ними следуют определения WSDL для каждого web-метода в терминах протоколов HTTP-GET, HTTP-POST и SOAP (рис. 15.11).
Для каждого метода предусмотрены отдельные определения In (для приема данных) и Out (для возврата данных клиенту), при этом каждая пара перечисляется отдельно для каждого протокола подключения. Например, вот пара In/Out в WSDL-определении метода Subtract для протокола подключения HTTP-POST:
<message name="SubtractHttpPostIn">
<part name="x" type"s:string" /> <part name-"/' type"s:string" />
</message>
<mes sage name="SubtractHttpPostOut">
<part name-'ВоаУ element="sO:int" /> </message>
А вот так выглядит та же пара того же метода Subtract для протокола SOAP:
<message narae-"SubtractSoapIn">
<part name-"parameters" elemem>"sO:Subtract" /> </message>
Протоколы подключения к web-службам 763
<message name="SubtractSoapOut">
<part name="parameters" element-"sb:SubtractResponse" /> </message>
'aMW/bigmanuy'CateWebService/CalcS
FBe ?oft yjaw Favorites Iools Help
Afldfess f§http://bigmanu;calcvVehServk:e/Cak:5ervice.._J i?Ga Links
ЛІВІЛІ
*»Back - -» * ® $ JjS j ДЁPersonal tJar ^Search
rnlris='mt^://st:liemu5.xriilsti<]|).iiriJ/v4sill/fL> Tj
+ <message name +¦ <message name і <message name + <message name + ^message name + <message name + <message name + «cmessage nam& T <message name + <message name + <r-iessai".;e 11.3ms + <massage name (¦ <message name +
Предыдущая << 1 .. 300 301 302 303 304 305 < 306 > 307 308 309 310 311 312 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100