HttpSimpleClientProtocol.Invoke(String, String, Object[]) Methode

Definition

Ruft eine XML-Webdienstmethode unter Verwendung von HTTP auf.

C#
protected object Invoke(string methodName, string requestUrl, object[] parameters);

Parameter

methodName
String

Der Name der XML-Webdienstmethode in der abgeleiteten Klasse, die die Invoke(String, String, Object[])-Methode aufruft.

requestUrl
String

Die URL der vom Client angeforderten XML-Webdienstmethode.

parameters
Object[]

Ein Array von Objekten mit den Parametern, die an den remoten XML-Webdienst übergeben werden sollen. Die Reihenfolge der Werte im Array entspricht der Reihenfolge der Parameter in der Aufrufmethode der abgeleiteten Klasse.

Gibt zurück

Ein Array von Objekten mit dem Rückgabewert und allen durch Verweis übergebenen Parametern oder out-Parametern der abgeleiteten Klassenmethode.

Ausnahmen

Die Anforderung hat den Servercomputer erreicht, wurde jedoch nicht erfolgreich verarbeitet.

Beispiele

Das folgende Codebeispiel ist ein ASP.NET-Webformular, das einen XML-Webdienst namens aufruft Math. Innerhalb der EnterBtn_Click Funktion ruft das Webformular synchron die Add XML-Webdienstmethode auf.

C#

Das folgende Codebeispiel ist eine Proxyklasse, die vom Web Services Description Language-Tool (Wsdl.exe) für den Math unten angegebenen XML-Webdienst generiert wird. Innerhalb der Add -Methode der Proxyklasse ruft die Invoke -Methode synchron die Add Webdienstmethode auf.

C#
namespace MyMath {
    using System.Diagnostics;
    using System.Xml.Serialization;
    using System;
    using System.Web.Services.Protocols;
    using System.Web.Services;

    [System.Web.Services.WebServiceBindingAttribute(Name="MathSoap", Namespace="http://tempuri.org/")]
    public class Math : System.Web.Services.Protocols.SoapHttpClientProtocol {

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public Math() {
            this.Url = "http://www.contoso.com/math.asmx";
        }

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/Add", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int Add(int num1, int num2) {
            object[] results = this.Invoke("Add", new object[] {num1,
                        num2});
            return ((int)(results[0]));
        }

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public System.IAsyncResult BeginAdd(int num1, int num2, System.AsyncCallback callback, object asyncState) {
            return this.BeginInvoke("Add", new object[] {num1,
                        num2}, callback, asyncState);
        }

        [System.Diagnostics.DebuggerStepThroughAttribute()]
        public int EndAdd(System.IAsyncResult asyncResult) {
            object[] results = this.EndInvoke(asyncResult);
            return ((int)(results[0]));
        }
    }
}

Das folgende Codebeispiel ist der Math XML-Webdienst, aus dem die obige Proxyklasse erstellt wurde.

ASP.NET (C#)
<%@ WebService Language="C#" Class="Math"%>
 using System.Web.Services;
 using System;
 
 public class Math {
      [ WebMethod ]
      public int Add(int num1, int num2) {
          return num1+num2;
          }
 }

Hinweise

Der methodName Parameter wird verwendet, um die Typen der Parameter und Rückgabewerte der Methode zu finden, die die Invoke -Methode aufruft. Es wird auch verwendet, um benutzerdefinierte Attribute zu finden, die der -Methode hinzugefügt wurden. HttpMethodAttribute und XmlElementAttribute stellen zusätzliche Informationen zur abgeleiteten Methode bereit, die für das SOAP-Protokoll erforderlich ist.

Gilt für:

Produkt Versionen
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1