我正在尝试从 WCF 服务调用异步方法,在一个以 .net 4.5 为目标的项目中,并收到烦人的“此时无法启动异步操作”错误。当我创建另一个面向 .net 4.0 的应用程序副本时,它可以工作。没有错误信息。
那会是什么?关于如何解决这个问题的任何想法?
异步调用是使用 Something.DoAsync() 和 OnCompleted 事件模式进行的。
更新:
确切的错误是:“此时无法启动异步操作。异步操作只能在异步处理程序或模块内或在页面生命周期中的某些事件期间启动。如果在执行页面时发生此异常,请确保页面标记为 <%@ Page Async="true" %>。"
我的代码看起来像这样:
m_Service.LoginCompleted += m_Service_LoginCompleted;
try
{
m_Service.LoginAsync(ToByteMesIn(loPar), key.Id);
}
catch (Exception exc)
{
SendNotification(exc.Message);
}
调用 Login4Aynch 方法时会发生错误。显示异常。
请记住,这只发生在我的项目针对 .NET .4.5 编译时,代码在针对 .NET 4.0 时工作正常
m_service 是 WCF 服务:“net.tcp://some.domain.com/something:”
更多信息: 这是作为 Web 应用程序运行的,WCF 服务器面向 .NET 4.5