我在玩 IIS7,只是尝试在 global.asax 中手动捕获事件并完全跳过 ASP httphandler 管道。为此,我设置了
<httpHandlers>
<clear/>
</httpHandlers>
<httpModules>
<clear/>
</httpModules>
但是当我打电话给服务器时,我得到了 YSOD
[HttpException]: No http handler was found for request type 'GET'
at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)
at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
我需要做什么才能完全防止 IIS 使用传统管道处理事情?我想要的只是在 HttpApplication.Init 中设置的事件处理程序和异步方法中执行 Response.Writes
编辑:我的问题是 obv。有点不清楚(对浪费时间的人感到抱歉)-我应该更好地解释,因为我想做的事情非常不合常规。我正在尝试查看是否可以使用 IIS 以类似于 node.js 的方式处理 Web 请求 - 通过将处理程序连接到 HttpApplication 中的异步方法。为此,我需要 ASP 停止摇晃,因为我不想使用 HttpHandlers。目前我最好的选择是对所有请求使用 NullHttpHandler,但我想知道是否可以完全禁用 HttpHandler 系统。你的想法!