[英]Asynchronous WCF service call
我正在使用EAP從WP頁面異步調用WCF服務:
ServiceReference1.Service1Client proxy = new ServiceReference1.Service1Client();
proxy.loginCompleted += DoLogin;
proxy.loginAsync("user", "password");
在Rererence.cs中,我看到以下代碼看起來像APM:
public System.IAsyncResult Beginlogin(string usn, string pwd, System.AsyncCallback callback, object asyncState)
{
object[] _args = new object[2];
_args[0] = usn;
_args[1] = pwd;
System.IAsyncResult _result = base.BeginInvoke("login", _args, callback, asyncState);
return _result;
}
public bool Endlogin(System.IAsyncResult result)
{
object[] _args = new object[0];
bool _result = ((bool)(base.EndInvoke("login", _args, result)));
return _result;
}
當我使用EAP調用WCF服務時,為什么要使用APM方法?
當您生成服務引用並將其設置為在客戶端生成異步操作時,從.NET 3.5及更高版本開始,它將使用/async /tcv:Version35
參數調用svcutil.exe
,並將生成APM和EAP異步操作。
來自MSDN :
將/ tcv:Version35與/ async開關一起使用時,將生成基於事件和基於回調/委托的異步方法。 此外,還啟用了對啟用LINQ的DataSet和DateTimeOffset的支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.