Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

HttpMethodAttribute-Klasse

Durch das Anwenden dieses Attributs auf einen XML-Webdienstclient, der HTTP-GET bzw. HTTP-POST verwendet, werden die Typen festgelegt, die die an eine XML-Webdienstmethode gesendeten Parameter serialisieren und die Antwort der XML-Webdienstmethode lesen. Diese Klasse kann nicht geerbt werden.

Namespace: System.Web.Services.Protocols
Assembly: System.Web.Services (in system.web.services.dll)

[AttributeUsageAttribute(AttributeTargets.Method)] 
public sealed class HttpMethodAttribute : Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Method) */ 
public final class HttpMethodAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Method) 
public final class HttpMethodAttribute extends Attribute

Wenn ein XML-Webdienstclient eine XML-Webdienstmethode unter Verwendung von HTTP-GET aufruft, muss ReturnFormatter auf XmlReturnReader und ParameterFormatter auf UrlParameterWriter festgelegt werden. XML-Webdienstclients, die einen XML-Webdienst unter Verwendung von HTTP-POST aufrufen, müssen ReturnFormatter auf XmlReturnReader und ParameterFormatter auf HtmlFormParameterWriter festlegen.

Das folgende Beispiel stellt eine Proxyklasse dar, die vom Dienstprogramm Wsdl.exe zum Aufrufen eines XML-Webdienstprogramms mit HTTP-POST generiert wird. Das Dienstprogramm Wsdl.exe stellt automatisch die richtigen Typen für ReturnFormatter und ParameterFormatter bereit und gibt an, dass die Proxyklasse von HttpPostClientProtocol erbt.

public class MyUser : System.Web.Services.Protocols.HttpPostClientProtocol {
    
    public MyUser() {
        this.Url = "http://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;
}
   

public class MyUser extends System.Web.Services.Protocols.HttpPostClientProtocol
{
    public MyUser()
    {
        this.set_Url("http://www.contoso.com/username.asmx");
    } //MyUser

    /** @attribute System.Web.Services.Protocols.HttpMethodAttribute
        (System.Web.Services.Protocols.XmlReturnReader .class,
        System.Web.Services.Protocols.HtmlFormParameterWriter .class)
     */
    public UserName GetUserName()
    {
        return ((UserName)(this.Invoke("GetUserName", this.get_Url()
            + "/GetUserName", new Object[0])));
    } //GetUserName

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

    public UserName EndGetUserName(System.IAsyncResult asyncResult)
    {
        return ((UserName)(this.EndInvoke(asyncResult)));
    } //EndGetUserName
} //MyUser

/** @attribute System.Xml.Serialization.XmlRootAttribute
    (Namespace = "http://tempuri.org/", IsNullable = true)
 */
public class UserName
{
    public String name;
    public String domain;
} //UserName

class MyUser extends System.Web.Services.Protocols.HttpPostClientProtocol{

    function MyUser(){
        this.Url = "http://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.Object
   System.Attribute
    System.Web.Services.Protocols.HttpMethodAttribute

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0
Anzeigen: