SoapRpcMethodAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, что сообщения SOAP, которыми обмениваются с методом, используют форматирование RPC
.
public ref class SoapRpcMethodAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method)]
public sealed class SoapRpcMethodAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method)>]
type SoapRpcMethodAttribute = class
inherit Attribute
Public NotInheritable Class SoapRpcMethodAttribute
Inherits Attribute
- Наследование
- Атрибуты
Примеры
В следующем примере кода для метода веб-службы XML задается стиль Rpc
GetUserName
сообщения .
<%@ WebService Language="C#" class="MyUser" %>
using System;
using System.Web.Services;
using System.Web.Services.Protocols;
public class MyUser : WebService {
[ SoapRpcMethod(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 out the domain name from 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
<SoapRpcMethod(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 out the domain name from 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
.
RPC
Форматирование означает форматирование операции в соответствии со спецификацией SOAP для использования SOAP для RPC; иначе называется разделом 7 спецификации SOAP.
RPC
Форматирование указывает, что все параметры инкапсулированы в одном XML-элементе с именем метода веб-службы XML и что каждый XML-элемент в этом XML-элементе представляет параметр с именем в честь параметра, который он представляет.
Сообщения SOAP, отформатированные в RPC
стилях и Document
, можно использовать для взаимодействия с веб-службой XML в режиме удаленного вызова процедур (RPC), однако Document
стиль также можно легко использовать для обмена данными слабосвязанным способом.
Document
Поэтому рекомендуется использовать веб-службы XML стилей. Дополнительные сведения см. в Customizing SOAP Messages
разделе .
Дополнительные сведения см. в разделе Настройка форматирования сообщений SOAP.
Этот атрибут можно применить к методу веб-службы XML на сервере и к классу прокси на клиенте. Методы веб-службы XML, для которых свойству OneWaytrue
присвоено значение , не имеют доступа к своим HttpContext. Таким образом, доступ к любому из свойств WebService класса возвращает .null
Конструкторы
SoapRpcMethodAttribute() |
Инициализирует новый экземпляр класса SoapRpcMethodAttribute, устанавливая для всех свойств значения по умолчанию. |
SoapRpcMethodAttribute(String) |
Инициализирует новый экземпляр класса SoapRpcMethodAttribute и присваивает свойству Action значение параметра |
Свойства
Action |
Получает или задает поле HTTP-заголовка |
Binding |
Получает или задает привязку, для которой метод веб-службы XML реализует операцию. |
OneWay |
Получает или задает значение, указывающее, ожидает ли клиент веб-службы XML окончания обработки веб-сервером метода веб-службы XML. |
RequestElementName |
Получает или задает элемент XML, сопоставленный с запросом SOAP к методу веб-службы XML. |
RequestNamespace |
Получает или задает пространство имен XML, сопоставленное с запросом SOAP к методу веб-службы XML. |
ResponseElementName |
Получает или задает элемент XML, сопоставленный с ответом SOAP для метода веб-службы XML. |
ResponseNamespace |
Получает или задает пространство имен XML, сопоставленное с ответом SOAP для метода веб-службы XML. |
TypeId |
В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute. (Унаследовано от Attribute) |
Use |
Получает или задает привязку, используемую при вызове метода. |
Методы
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) |