可移植库中的WCF服务客户端从桌面应用程序引用,未触发已完成事件

时间:2014-06-17 06:15:25

标签: c# wcf asynchronous desktop-application portable-class-library

我在可移植类库中引用了NetHttpBinding WCF服务。在我的WCF服务中,我有一个ValidateLogin(用户名,密码)方法。

可移植类库调用ValidateLoginAsync(用户名,密码)并订阅ValidateLoginCompleted事件。

当从Windows 8.1应用程序引用可移植类库时,所有这些都很有用。但是,当我从桌面应用程序引用可移植类库时,从不会触发ValidateLoginCompleted事件。我验证了服务器正在接收并返回请求,并且在客户端上触发了以下自动生成的方法:

public DataAccessClientWrapper.DataAccessService.ValidateLoginResponse EndValidateLogin(System.IAsyncResult result)
{
     object[] _args = new object[0];
     DataAccessClientWrapper.DataAccessService.ValidateLoginResponse _result = ((DataAccessClientWrapper.DataAccessService.ValidateLoginResponse)(base.EndInvoke("ValidateLogin", _args, result)));
     return _result;
}

我知道NetHttpBinding客户端代码在可移植类库中看起来与在普通桌面应用程序中看起来不同。在便携式类库中,它创建ValidateLoginAsync(用户名,密码)方法和ValidateLoginCompleted事件。在桌面应用程序中,它会创建异步ValidateLoginAsync(用户名,密码)方法和ValidateLogin(用户名,密码)方法。但是,我仍然期望桌面应用程序在引用可移植类库时可以正常工作。

任何帮助?

0 个答案:

没有答案