LogicalMethodInfo.AsyncResultParameter Property
Gets the return value of a Begin asynchronous method invocation.
Assembly: System.Web.Services (in System.Web.Services.dll)
Property Value
Type: System.Reflection.ParameterInfoA ParameterInfo representing the IAsyncResult returned from a Begin asynchronous method invocation.
The asynchronous design pattern in the common language runtime involves calling a Begin method to start the asynchronous method invocation and an End method to complete the invocation. The Begin method typically returns immediately with an object implementing the IAsyncResult interface, which can then be passed to the End method at a later time to complete the asynchronous method invocation. The returned object implementing the IAsyncResult interface is represented by this property.
For more information on invoking XML Web services asynchronously, see [<topic://cpconInvokingWebServicesAsynchronously>].
Imports System Imports System.Reflection Imports System.Web.Services.Protocols Imports Microsoft.VisualBasic Public Class MyService Inherits SoapHttpClientProtocol Public Function BeginAdd _ (xValue As Integer, yValue As Integer, callback As AsyncCallback, asyncState As Object) _ As IAsyncResult Return Me.BeginInvoke("Add", New Object() {xValue, yValue}, callback, asyncState) End Function 'BeginAdd Public Function EndAdd(asyncResult As System.IAsyncResult) As Integer Dim results As Object() = Me.EndInvoke(asyncResult) Return CInt(results(0)) End Function 'EndAdd End Class 'MyService Public Class LogicalMethodInfo_Create Public Shared Sub Main() Dim myType As Type = GetType(MyService) Dim myBeginMethod As MethodInfo = myType.GetMethod("BeginAdd") Dim myEndMethod As MethodInfo = myType.GetMethod("EndAdd") Dim myLogicalMethodInfo As LogicalMethodInfo = _ LogicalMethodInfo.Create(New MethodInfo() _ {myBeginMethod, myEndMethod}, LogicalMethodTypes.Async)(0) Console.WriteLine _ (ControlChars.Newline + "The asynchronous callback parameter of method {0} is :" + _ ControlChars.Newline, myLogicalMethodInfo.Name) Console.WriteLine _ (ControlChars.Tab + myLogicalMethodInfo.AsyncCallbackParameter.Name + " : " + _ myLogicalMethodInfo.AsyncCallbackParameter.ParameterType.ToString()) Console.WriteLine _ (ControlChars.Newline + "The asynchronous state parameter of method {0} is :" + _ ControlChars.Newline, myLogicalMethodInfo.Name) Console.WriteLine _ (ControlChars.Tab + myLogicalMethodInfo.AsyncStateParameter.Name + " : " + _ myLogicalMethodInfo.AsyncStateParameter.ParameterType.ToString()) Console.WriteLine _ (ControlChars.Newline + "The asynchronous result parameter of method {0} is :" + _ ControlChars.Newline, myLogicalMethodInfo.Name) Console.WriteLine _ (ControlChars.Tab + myLogicalMethodInfo.AsyncResultParameter.Name + " : " + _ myLogicalMethodInfo.AsyncResultParameter.ParameterType.ToString()) Console.WriteLine _ (ControlChars.Newline + "The begin method of the asynchronous method {0} is :" + _ ControlChars.Newline, myLogicalMethodInfo.Name) Console.WriteLine(ControlChars.Tab + myLogicalMethodInfo.BeginMethodInfo.ToString()) Console.WriteLine _ (ControlChars.Newline + "The end method of the asynchronous method {0} is :" + _ ControlChars.Newline, myLogicalMethodInfo.Name) Console.WriteLine(ControlChars.Tab + myLogicalMethodInfo.EndMethodInfo.ToString()) If myLogicalMethodInfo.IsAsync Then Console.WriteLine(ControlChars.Newline + "{0} is asynchronous", myLogicalMethodInfo.Name) Else Console.WriteLine(ControlChars.Newline + "{0} is synchronous", myLogicalMethodInfo.Name) End If End Sub 'Main End Class 'LogicalMethodInfo_Create
Available since 1.1
IAsyncResult
AsyncStateParameter
AsyncCallbackParameter
ParameterInfo
LogicalMethodInfo Class
System.Web.Services.Protocols Namespace
[<topic://cpconInvokingWebServicesAsynchronously>]