次の方法で共有


HttpMethodAttribute クラス

HTTP-GET または HTTP-POST を使用する XML Web サービス クライアントにこの属性を適用し、XML Web サービスに送信されたパラメータをシリアル化する型、および XML Web サービス メソッドから応答を読み取る型を設定します。このクラスは継承できません。

この型のすべてのメンバの一覧については、HttpMethodAttribute メンバ を参照してください。

System.Object
   System.Attribute
      System.Web.Services.Protocols.HttpMethodAttribute

<AttributeUsage(AttributeTargets.Method)>
NotInheritable Public Class HttpMethodAttribute   Inherits Attribute
[C#]
[AttributeUsage(AttributeTargets.Method)]
public sealed class HttpMethodAttribute : Attribute
[C++]
[AttributeUsage(AttributeTargets::Method)]
public __gc __sealed class HttpMethodAttribute : public Attribute
[JScript]
public
   AttributeUsage(AttributeTargets.Method)
class HttpMethodAttribute extends Attribute

スレッドセーフ

この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。

解説

XML Web サービス クライアントが HTTP-GET を使用して XML Web サービス メソッドを呼び出す場合は、 ReturnFormatterXmlReturnReader に設定し、 ParameterFormatterUrlParameterWriter に設定する必要があります。HTTP-POST を使用して XML Web サービスを呼び出す XML Web サービス クライアントでは、 ReturnFormatterXmlReturnReader に設定し、 ParameterFormatterHtmlFormParameterWriter に設定する必要があります。

使用例

HTTP-POST を使用して XML Web サービス ユーティリティを呼び出すために、Wsdl.exe ユーティリティによって生成されるプロキシ クラスの例を次に示します。Wsdl.exe は、 ReturnFormatter および ParameterFormatter に対応する適切な型を自動的に指定し、またプロキシ クラスが HttpPostClientProtocol から継承することも指定します。

 
Public Class MyUser
    Inherits System.Web.Services.Protocols.HttpPostClientProtocol
    
    
    Public Sub New()
        Me.Url = "https://www.contoso.com/username.asmx"
    End Sub 'New
    
    <HttpMethodAttribute(GetType(XmlReturnReader), GetType(HtmlFormParameterWriter))> _
    Public Function GetUserName() As UserName
        Return CType(Me.Invoke("GetUserName", Me.Url + "/GetUserName", New Object(0) {}), UserName)
    End Function 'GetUserName
    
    
    Public Function BeginGetUserName(callback As System.AsyncCallback, asyncState As Object) As System.IAsyncResult
        Return Me.BeginInvoke("GetUserName", Me.Url + "/GetUserName", New Object(0) {}, callback, asyncState)
    End Function 'BeginGetUserName
    
    
    Public Function EndGetUserName(asyncResult As System.IAsyncResult) As UserName
        Return CType(Me.EndInvoke(asyncResult), UserName)
    End Function 'EndGetUserName
End Class 'MyUser

<XmlRootAttribute(Namespace := "http://tempuri.org/", IsNullable := True)> _
Public Class UserName
    Public Name As String
    Public Domain As String

End Class 'UserName

[C#] 
public class MyUser : System.Web.Services.Protocols.HttpPostClientProtocol {
    
    public MyUser() {
        this.Url = "https://www.contoso.com/username.asmx";
    }
    
    [System.Web.Services.Protocols.HttpMethodAttribute(typeof(System.Web.Services.Protocols.XmlReturnReader), typeof(System.Web.Services.Protocols.HtmlFormParameterWriter))]
    public UserName GetUserName() {
        return ((UserName)(this.Invoke("GetUserName", (this.Url + "/GetUserName"), new object[0])));
    }
    
    public System.IAsyncResult BeginGetUserName(System.AsyncCallback callback, object asyncState) {
        return this.BeginInvoke("GetUserName", (this.Url + "/GetUserName"), new object[0], callback, asyncState);
    }
    
    public UserName EndGetUserName(System.IAsyncResult asyncResult) {
        return ((UserName)(this.EndInvoke(asyncResult)));
    }
}

[System.Xml.Serialization.XmlRootAttribute(Namespace="http://tempuri.org/", IsNullable=true)]
public class UserName {
    
    public string Name;
    
    public string Domain;
}
   

[C++] 
[System::Xml::Serialization::XmlRootAttribute(Namespace=S"http://tempuri.org/", IsNullable=true)]
public __gc class UserName {
    
public:
    String* Name;
    String* Domain;
};
   
public __gc class MyUser : public System::Web::Services::Protocols::HttpPostClientProtocol {
    
public:
    MyUser() {
        this->Url = S"https://www.contoso.com/username.asmx";
    }
    
    [System::Web::Services::Protocols::HttpMethodAttribute(__typeof(System::Web::Services::Protocols::XmlReturnReader), __typeof(System::Web::Services::Protocols::HtmlFormParameterWriter))]
    UserName* GetUserName() {
        return (dynamic_cast<UserName*>(this->Invoke(S"GetUserName", (String::Concat( this->Url, S"/GetUserName" )), new Object*[0])));
    }
    
    System::IAsyncResult* BeginGetUserName(System::AsyncCallback* callback, Object* asyncState) {
        return this->BeginInvoke(S"GetUserName", (String::Concat( this->Url, S"/GetUserName" )), new Object*[0], callback, asyncState);
    }
    
    UserName* EndGetUserName(System::IAsyncResult* asyncResult) {
        return (dynamic_cast<UserName*>(this->EndInvoke(asyncResult)));
    }
};


[JScript] 
class MyUser extends System.Web.Services.Protocols.HttpPostClientProtocol{

    function MyUser(){
        this.Url = "https://www.contoso.com/username.asmx"
    } //New

    public HttpMethodAttribute(XmlReturnReader, HtmlFormParameterWriter)
    function GetUserName() : UserName{
        return UserName(this.Invoke("GetUserName", this.Url + "/GetUserName", new Object[0]))
    } //GetUserName

    function BeginGetUserName(callback : System.AsyncCallback, asyncState : Object) : System.IAsyncResult{
        return this.BeginInvoke("GetUserName", this.Url + "/GetUserName", new Object[0], callback, asyncState)
    } //BeginGetUserName

    function EndGetUserName(asyncResult : System.IAsyncResult) : UserName{
        return UserName(this.EndInvoke(asyncResult))
    } //EndGetUserName
} //MyUser

public XmlRootAttribute(Namespace = "http://tempuri.org/", IsNullable = true)
class UserName{
    var Name : String
    var Domain : String

} //UserName

必要条件

名前空間: System.Web.Services.Protocols

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: System.Web.Services (System.Web.Services.dll 内)

参照

HttpMethodAttribute メンバ | System.Web.Services.Protocols 名前空間 | SoapDocumentMethodAttribute | SoapRpcMethodAttribute