我开发了一个ASP.NET
网站,该网站使用ServiceModel
类在C#项目之间进行通信。我按照这个例子:
https://dopeydev.com/wcf-interprocess-communication/
在VisualStudio中使用IIS Express
时,一切正常。
现在,我将网站移至IIS
。当来自网页的用户提交表单时,代码隐藏将使用WCF
将数据发送到C#应用程序。
此时会引发异常:
调试它将导致以下错误消息:
未处理的类型' System.Runtime.FatalException' 发生在System.ServiceModel.Internals.dll
中附加信息:无法启动异步操作 这次。异步操作只能在一个内部启动 异步处理程序或模块或在页面中的某些事件期间 生命周期。如果在执行页面时发生此异常,请确保 页面标记为<%@ Page Async =" true" %取代。这个例外可能 还表示试图调用" async void"方法,即 通常在ASP.NET请求处理中不受支持。相反, 异步方法应该返回一个Task,并且调用者应该等待 它
我的页面已经有Async="true"
标记,我在整个解决方案中进行了搜索,但我没有" async void"关键字。
如何让它在IIS中运行?
答案 0 :(得分:1)
我忘了在Windows功能中启用Windows Communication Foundation HTTP Activation
。