Export (0) Print
Expand All

HttpSimpleClientProtocol.EndInvoke Method

Completes asynchronous invocation of an XML Web service method using HTTP.

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

protected Object EndInvoke (
	IAsyncResult asyncResult
)
protected Object EndInvoke (
	IAsyncResult asyncResult
)
protected function EndInvoke (
	asyncResult : IAsyncResult
) : Object
Not applicable.

Parameters

asyncResult

The IAsyncResult returned from the BeginInvoke method.

Return Value

An array of objects containing the return value and any by reference or out parameters for the XML Web service method.

Exception typeCondition

ArgumentException

asyncResult is not the return value from the BeginInvoke method.

The following code example is an ASP.NET Web Form, which calls an XML Web service named Math. Within the EnterBtn_Click function, the Web Form starts and completes an asynchronous invocation of the Add XML Web service method.

<%@ Page Language="C#" %>
<html>
    <script language="C#" runat="server">
       void EnterBtn_Click(Object Src, EventArgs E) 
          {
             MyMath.Math math = new MyMath.Math();
 
         // Call the Add XML Web service method asynchronously.
         IAsyncResult result = math.BeginAdd(Convert.ToInt32(Num1.Text), Convert.ToInt32(Num2.Text), null, null);
             
         // Wait for the asynchronous call to complete.
         result.AsyncWaitHandle.WaitOne();
 
         // Complete the asynchronous call to the Add XML Web service method.
         int total = math.EndAdd(result);
 
         Total.Text = "Total: " + total.ToString();
         }
 
    </script>
 
    <body>
       <form action="MathClient.aspx" runat=server>
           
          Enter the two numbers you want to add and then press the Total button.
          <p>
          Number 1: <asp:textbox id="Num1" runat=server/>  +
          Number 2: <asp:textbox id="Num2" runat=server/> =
          <asp:button text="Total" Onclick="EnterBtn_Click" runat=server/>
          <p>
          <asp:label id="Total"  runat=server/>
          
       </form>
    </body>
 </html>

The following code example is a proxy class generated by the Web Services Description Language tool (Wsdl.exe) for the Math XML Web service below. Within the EndAdd method of the proxy class, the EndInvoke method starts an asynchronous invocation of the Add XML Web service method.

namespace MyMath {
    [XmlRootAttribute("int", Namespace="http://MyMath/", IsNullable=false)]
    public class Math : HttpGetClientProtocol {
       public Math() 
       {
          this.Url = "http://www.contoso.com/math.asmx";
       }
        
       [HttpMethodAttribute(typeof(System.Web.Services.Protocols.XmlReturnReader),
       typeof(System.Web.Services.Protocols.UrlParameterWriter))]
       public int Add(int num1, int num2) 
       {
          return ((int)(this.Invoke("Add", ((this.Url) + ("/Add")), new object[] {num1,
                         num2})));
       }
         
       public IAsyncResult BeginAdd(int num1, int num2, AsyncCallback callback, object asyncState) 
       {
          return this.BeginInvoke("Add", ((this.Url) + ("/Add")), new object[] {num1,
                         num2}, callback, asyncState);
       }
         
       public int EndAdd(IAsyncResult asyncResult) 
       {
          return ((int)(this.EndInvoke(asyncResult)));
       }
         
     }
 }

The following code example is the Math XML Web service, from which the above proxy class was created.

<%@ 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;
          }
 }

Windows 98, Windows Server 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

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft