ASP.NET Fire and Forget (One Way) Web Service

2019-02-15 16:01发布

I've create a regular old ASMX web service in ASP.NET and added SoapDocumentMethod(OneWay = true)] to the function call as I've read this is supposed to make the call Asynchronous. However I call this in my code and it definitely does not make the call asynchronous, my page just sits there waiting for the function to finish working. What gives?

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

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

2条回答
Anthone
2楼-- · 2019-02-15 16:29

You still have to make the call using the Async method. You should make the call to service.UpdateAccountsAsync() in this case.

查看更多
Luminary・发光体
3楼-- · 2019-02-15 16:33

Are you returning a value? The documentation for OneWay states that "fire and forget" web methods cannot return a value or have out parameters.

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

查看更多
登录 后发表回答