вызывая веб-сервис асинхронно в vb.net - PullRequest
3 голосов
/ 08 января 2011

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

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

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

1 Ответ

1 голос
/ 08 января 2011

Сначала прочитайте эту статью MSDN о том, как асинхронные страницы работают в ASP.NET.

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

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

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

Надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...