ASP.NET Fire and Forget (One Way) веб-сервис - PullRequest
2 голосов
/ 09 октября 2009

Я создал обычный старый веб-сервис ASMX в ASP.NET и добавил SoapDocumentMethod (OneWay = true)] к вызову функции, так как я прочитал, что это должно сделать вызов асинхронным. Однако я вызываю это в своем коде, и это определенно не делает вызов асинхронным, моя страница просто сидит и ждет завершения работы функции. Что дает?

[SoapDocumentMethod(OneWay = true)]
[WebMethod(EnableSession = true)]
public void UpdateAccounts()
{
 //do work
}

//call the function
GlobalServices service = new GlobalServices();
service .UpdateAccounts()

Ответы [ 2 ]

3 голосов
/ 09 октября 2009

Вы все еще должны сделать вызов, используя метод Async. В этом случае вам следует позвонить на номер service.UpdateAccountsAsync().

0 голосов
/ 09 октября 2009

Возвращаете ли вы значение? В документации для OneWay говорится, что веб-методы «запускай и забывай» не могут возвращать значение или иметь параметры out.

http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapdocumentmethodattribute.oneway(VS.80).aspx

...