通用处理程序不在IIS上工作

令我好奇的是,当我在Visual Studio ASP.NET开发服务器中运行Web应用程序时,通用处理程序工作得很好。 当我更改配置以直接从IIS运行它时,处理程序就会死掉。

我真的不是这方面的专家,所以对我很陌生。

它是一个图像处理程序,它会写回要在Image对象中呈现的字节数组。 正如我所说,它在VS Development Server中工作正常,但在IIS上失败。 它甚至没有被称为……

我试图直接调用它时得到的错误是:

分析程序错误说明:解析为此请求提供服务所需的资源时发生错误。 请查看以下特定的解析错误详细信息并相应地修改源文件。 分析器错误消息:无法创建类型’YourImageHandler’。 源错误:第1行:

有任何想法吗?

编辑:

更多信息:

web.config上的处理程序:

     

Generic Handler与Web项目位于同一个程序集中,整个过程在IIS 7上运行。

如果在管道模式下使用IIS 7,则处理程序定义必须位于中,如下所示:

      

点击此处: http : //blogs.msdn.com/b/tmarq/archive/2007/08/30/iis-7-0-asp-net-pipelines-modules-handlers-and-preconditions.aspx

IIS 7.0有两种管道模式:集成模式和经典模式。 后者有时被称为ISAPI模式。

集成模式允许托管和本机模块注册IIS管道中的事件。 这可以实现许多新方案,例如将ASP.NET表单身份validation应用于nonasp.net请求(静态文件,传统ASP文件等)。

经典模式与IIS 6.0相同。 在经典模式下,ASP.NET管道(BeginRequest,AuthenticateRequest,…,EndRequest)完全在IIS管道的EXECUTE_REQUEST_HANDLER事件中运行。 将经典模式下的ASP.NET视为管道中的管道。

另一种选择是以“经典”模式运行您的站点,在经典模式下,IIS 7的工作方式与IIS 6类似,并且与Cassini Web服务器具有相同的行为(对于此处的重要性)。

希望有所帮助。

您必须在web.config文件中添加preCondition属性

   

它现在为我的错误工作。

我认为你应该添加一个托管处理程序映射到IIS。 添加配置是不够的。 你可以看看这里 。