2011-01-07 3 views
3

Я пытаюсь вызвать этот веб-сервис asynchrounously в vb.net. Итак, на стороне aspx я добавил это свойство async = "true". Теперь на стороне кода vb.net у меня есть эта функция внутри моего веб-сервиса, который я вызываю. Так -, вызывающий webservice асинхронно в vb.net

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

Теперь, когда я запустить страницу, я могу видеть, что он не будет вызывать WebService после timegap. Должен ли я добавить .thread.sleep()? Мне нужна функция beginAsyn и функция EndAsyn. Я использую asp.net 3.5 с IIS7

ответ

1

Прежде всего, пожалуйста, прочтите this MSDN article о том, как работают асинхронные страницы в ASP.NET.

Во-вторых, вам необходимо иметь асинхронный метод в вашем веб-сервисе. Пожалуйста, прочитайте this HOWTO article о том, как создавать такие методы.

Это как ваша реализация страницы асинхронной может выглядеть следующим образом:

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 

Надеется, что это поможет вам.

Смежные вопросы