SoapDocumentMethodAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Применение SoapDocumentMethodAttribute к методу указывает, что сообщения SOAP и из метода используют форматирование Document.
public ref class SoapDocumentMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapDocumentMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapDocumentMethodAttribute = class
inherit Attribute
Public NotInheritable Class SoapDocumentMethodAttribute
Inherits Attribute
- Наследование
- Атрибуты
Примеры
Следующий пример кода задает стиль Document сообщения для GetUserName метода веб-службы XML. Кроме того, xml-элемент с элементом Body для запроса SOAP и ответа SOAP задаются GetUserNameRequest и GetUserNameResponseсоответственно.
<%@ WebService Language="C#" class="MyUser" %>
using System;
using System.Web.Services;
using System.Web.Services.Protocols;
public class MyUser : WebService {
[ SoapDocumentMethod(Action="http://www.contoso.com/Sample",
RequestNamespace="http://www.contoso.com/Request",
RequestElementName="GetUserNameRequest",
ResponseNamespace="http://www.contoso.com/Response",
ResponseElementName="GetUserNameResponse")]
[ WebMethod(Description="Obtains the User Name") ]
public UserName GetUserName() {
string temp;
int pos;
UserName NewUser = new UserName();
// Get the full user name, including the domain name if applicable.
temp = User.Identity.Name;
// Determine whether the user is part of a domain by searching for a backslash.
pos = temp.IndexOf("\\");
// Parse the domain name out of the string, if one exists.
if (pos <= 0)
NewUser.Name = User.Identity.Name;
else {
NewUser.Name = temp.Remove(0,pos+1);
NewUser.Domain = temp.Remove(pos,temp.Length-pos);
}
return NewUser;
}
}
public class UserName {
public string Name;
public string Domain;
}
<%@ WebService Language="VB" class="MyUser" %>
Imports System
Imports System.Web.Services
Imports System.Web.Services.Protocols
Public Class MyUser
Inherits WebService
<SoapDocumentMethod(Action := "http://www.contoso.com/Sample", _
RequestNamespace := "http://www.contoso.com/Request", _
RequestElementName := "GetUserNameRequest", _
ResponseNamespace := "http://www.contoso.com/Response", _
ResponseElementName := "GetUserNameResponse"), _
WebMethod(Description := "Obtains the User Name")> _
Public Function GetUserName() As UserName
Dim temp As String
Dim pos As Integer
Dim NewUser As New UserName()
' Get the full user name, including the domain name if applicable.
temp = User.Identity.Name
' Determine whether the user is part of a Domain by searching for a backslash.
pos = temp.IndexOf("\")
' Parse the domain name out of the string, if one exists.
If pos <= 0 Then
NewUser.Name = User.Identity.Name
Else
NewUser.Name = temp.Remove(0, pos + 1)
NewUser.Domain = temp.Remove(pos, temp.Length - pos)
End If
Return NewUser
End Function
End Class
Public Class UserName
Public Name As String
Public Domain As String
End Class
Комментарии
Язык описания веб-служб (WSDL) определяет два стиля для того, как метод веб-службы XML, который вызывает операцию, можно отформатировать в сообщении SOAP: RPC и Document.
Document ссылается на форматирование метода веб-службы XML в соответствии с схемой XSD. Стиль Document относится к форматированию Body элемента в виде ряда из одной или нескольких частей сообщения после Body элемента. Точно, как определяются Use отдельные части сообщения и ParameterStyle свойства. Свойство Use определяет, форматируются Encoded ли параметры или Literal. Определяет ParameterStyle , являются ли параметры инкапсулированными в одной части сообщения после Body элемента или является ли каждый параметр отдельной частью сообщения.
Дополнительные сведения см. в разделе "Настройка форматирования сообщений SOAP".
Этот атрибут можно применить как к методу веб-службы XML на сервере, так и к методу прокси-класса клиента.
Конструкторы
| Имя | Описание |
|---|---|
| SoapDocumentMethodAttribute() |
Инициализирует новый экземпляр класса SoapDocumentMethodAttribute. |
| SoapDocumentMethodAttribute(String) |
Инициализирует новый экземпляр SoapDocumentMethodAttribute класса, задав Action свойству значение |
Свойства
| Имя | Описание |
|---|---|
| Action |
Возвращает или задает |
| Binding |
Возвращает или задает привязку метода веб-службы XML, реализующего операцию. |
| OneWay |
Возвращает или задает, ожидает ли клиент веб-службы XML, пока веб-сервер завершит обработку метода веб-службы XML. |
| ParameterStyle |
Возвращает или задает, инкапсулируются ли параметры в одном XML-элементе |
| RequestElementName |
Возвращает или задает XML-элемент, связанный с запросом SOAP для метода веб-службы XML, который определяется в описании службы как операции. |
| RequestNamespace |
Возвращает или задает пространство имен, связанное с запросом SOAP для метода веб-службы XML. |
| ResponseElementName |
Возвращает или задает XML-элемент, связанный с ответом SOAP для метода веб-службы XML. |
| ResponseNamespace |
Возвращает или задает пространство имен XML, связанное с ответом SOAP для метода веб-службы XML. |
| TypeId |
При реализации в производном классе получает уникальный идентификатор для этого Attribute. (Унаследовано от Attribute) |
| Use |
Возвращает или задает форматирование параметров для метода веб-службы XML в части XML-сообщения SOAP. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute) |
| GetHashCode() |
Возвращает хэш-код для этого экземпляра. (Унаследовано от Attribute) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| IsDefaultAttribute() |
При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса. (Унаследовано от Attribute) |
| Match(Object) |
При переопределении в производном классе возвращает значение, указывающее, равен ли этот экземпляр указанному объекту. (Унаследовано от Attribute) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации. (Унаследовано от Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Извлекает сведения о типе объекта, который можно использовать для получения сведений о типе для интерфейса. (Унаследовано от Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1). (Унаследовано от Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Предоставляет доступ к свойствам и методам, предоставляемым объектом. (Унаследовано от Attribute) |