我正在尝试在aspx页面的代码后台运行异步任务。我使用
然而,我收到错误提示说需要在webconfig文件中添加
Page.RegisterAsyncTask
和Page.ExecuteRegisteredAsyncTasks
来运行异步方法。然而,我收到错误提示说需要在webconfig文件中添加
<httpRuntime targetFramework="4.5" />
,但是添加该行后,我的ashx页面中的异步/等待开始抛出错误。
在添加了此时无法启动异步操作。异步操作只能在异步处理程序或模块内或在页面生命周期的某些事件期间启动。如果在执行页面时发生此异常,请确保将页面标记为 <%@ Page Async="true" %>。此异常还可能指示尝试调用“async void”方法,这通常不受ASP.NET请求处理支持。相反,异步方法应返回任务,并且调用者应该等待它。
<httpRuntime targetFramework="4.5" />
之前,ashx页面中的异步/等待正常工作。那么我该如何让异步/等待在两种类型的文件中都正常工作?
IHttpHandler
.await
在processRequest
方法内部。它使用了一个可等待的库方法。处理程序本身没有被任何东西等待。 - uhsl_mHttpTaskAsyncHandler
替换IHttpHandler
就解决了。 - uhsl_m