Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iis 7 如何阻止IIS7使用HttpHandler?_Iis 7_Httphandler_Httphandlerfactory - Fatal编程技术网

Iis 7 如何阻止IIS7使用HttpHandler?

Iis 7 如何阻止IIS7使用HttpHandler?,iis-7,httphandler,httphandlerfactory,Iis 7,Httphandler,Httphandlerfactory,我正在玩IIS7,只是尝试在global.asax中手动捕获事件,并完全跳过ASP httphandler管道。为此,我决定 <httpHandlers> <clear/> </httpHandlers> <httpModules> <clear/> </httpModules> 我需要做什么才能完全防止IIS使用传统管道处理事情?我想要的只是在HttpApplication.Init中设置的事件处理

我正在玩IIS7,只是尝试在global.asax中手动捕获事件,并完全跳过ASP httphandler管道。为此,我决定

<httpHandlers>
    <clear/>
</httpHandlers>
<httpModules>
    <clear/>
</httpModules>   
我需要做什么才能完全防止IIS使用传统管道处理事情?我想要的只是在HttpApplication.Init中设置的事件处理程序和异步方法中执行Response.write


编辑:我的问题是obv。有点不清楚。对任何浪费时间的人表示抱歉-我应该解释得更好,因为我尝试做的是非常不传统的。我试图看看是否可以使用IIS以类似于node.js的方式处理web请求,方法是将处理程序连接到HttpApplication中的异步方法。为此,我需要ASP停止抛出抖动,因为我不想使用HttpHandler。目前,我的最佳选择是对所有请求使用NullHttpHandler,但我想知道是否可以完全禁用HttpHandler系统。你的想法

您必须重新添加StaticFileHandler:

  <httpHandlers>
    <clear />
    <add verb="*" path="*.jpg" type="System.Web.StaticFileHandler" />
  </httpHandlers>

你需要IIS。请求在IIS管道中启动,为了让ASP.NET处理它,IIS需要能够找到http处理程序,它可以将请求传递给。只有在找到合适的处理程序后,它才会将请求传递给ASP.NET。

我知道它有点老了。。。但是,如果您在HttpApplication的ie.BeginRequest事件中为HttpContext.Current.handler分配了一个处理程序,则不应出现此错误,可以将web.config中的handlers部分保留为空。

或将*.jpg替换为任何内容:在我的示例中,我处理数据库中的图像,但希望/images中的所有图像直接来自目录…将这不只是让我所有的请求都得到静态处理吗?我想用代码来处理它们;我误解了你的问题。如果你想用代码来处理它们,那么你需要添加相关的处理程序:你会得到一个错误,因为你已经删除了所有的处理程序,所以没有什么可以处理你的请求了。。。。在IIS中,您将asp.net framework处理的文件类型映射为.aspx、.ashx等。。。根据driis响应。YSOD表示请求已由.net处理-如果不是,您将返回标准http错误代码。。。那么IIS设置正确了,对吗?那么我应该创建一个NullHttpHandler并为所有请求类型注册它吗?
  <httpHandlers>
    <clear />
    <add verb="*" path="*.jpg" type="System.Web.StaticFileHandler" />
  </httpHandlers>