2011-01-07 6 views
3

Ich versuche diesen Webservice in vb.net asynchron zu nennen. Also auf der aspx Seite habe ich diese Eigenschaft async = "true" hinzugefügt. Jetzt auf der vb.net-Code-Seite habe ich diese Funktion in meinem Webservice, den ich anrufe. So -webservice asynchron in vb.net aufrufen

dim as as webservice.webstring 
as.functionasync(param1, param2) 

Nun, wenn ich die Seite laufen, kann ich sehen, dass es wird nicht die webservice rufen nach einer timegap. Sollte ich hinzufügen. Thread.sleep()? Benötige ich die beginAsyn-Funktion und die EndAsyn-Funktion? Ich benutze asp.net 3.5 mit IIS7

Antwort

1

Zuerst lesen Sie bitte this MSDN article darüber, wie die asynchronen Seiten in ASP.NET arbeiten.

Zweitens müssen Sie eine asynchrone Methode in Ihrem Web-Service haben. Bitte lesen Sie this HOWTO article über das Erstellen solcher Methoden. Diese

ist, wie Sie Ihre Implementierung der Asynchron-Seite aussehen könnte:

private _as as WebService.WebString = Nothing 

Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load 
    AddOnPreRenderCompleteAsync(New BeginEventHandler(BeginCallingWebService), 
     New EndEventHandler(EndCallingWebService)); 
End Sub 

Private Function BeginCallingWebService(Byval sender As Object, ByVal e As EventArgs, ByVal cb As AsyncCallback, ByVal state As Object) 
    _as = New WebService.WebString() 

    Return _as.BeginMyMethod(cb, state) 
End Function 

Private Sub EndCallingWebService(ByVal ar as IAsyncResult) 
    Dim result As MyWebServiceResult = _as.EndMyMethod(ar) 

    ' Process the result of the web-service method 
End Sub 

Hope this Ihnen helfen.

Verwandte Themen