HTTP处理程序问题

cor*_*ore 2 .net c# asp.net httphandler

我在web.config文件中设置了一个HTTP处理程序:

        <add verb="*" path="*_*.aspx" type="SeoHandler"/>
Run Code Online (Sandbox Code Playgroud)

并在我的网站的根目录中有一个文件SeoHandler.ashx,该文件指向App_Code文件夹中的SeoHandler.ashx.cs(该网站不是Web应用程序项目).

当我在本地运行站点并输入类似"dork_test.aspx"的URL时,请求被重定向到处理程序,然后处理业务.

但是当编译的站点在我的域上运行时,"dork_test.aspx"将导致:

'/'应用程序中的服务器错误.

无法找到该资源.

说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用.请查看以下网址,确保拼写正确.

请求的URL:/dork_test.aspx

为什么SeoHandler会在本地捕获"dork_test.aspx"请求但不在服务器上?

不确定这是否重要,但当我点击我的域上的URL SeoHandler.ashx时,处理程序就像它想象的那样工作.

Web主机是否有可能忽略我的输入<httpHandlers>

Rex*_*x M 8

检查服务器上的IIS,未设置.NET处理程序以验证所请求的路径是否存在:

  • 转到网站或虚拟目录的属性
  • 主目录选项卡
  • 单击下部的"配置"
  • 找到.ASPX的扩展名并单击编辑,有一个复选框,上面写着"验证文件是否存在".

如果选中该复选框,则.NET将不会提供任何未映射到同一位置的物理文件的请求.