我在web.config文件中设置了一个HTTP处理程序:
<add verb="*" path="*_*.aspx" type="SeoHandler"/>并且在我的网站根目录中有一个文件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“请求?
不确定这是否重要,但当我访问域上的SeoHandler.ashx时,处理程序的工作方式与预期的一样。
是否可能web主机有一些IIS设置忽略了我在<httpHandlers>中的条目
发布于 2009-02-14 02:52:46
请在服务器上签入.NET处理程序,以验证请求的路径物理上是否存在:
如果选中该复选框,.NET将不会处理任何不映射到同一位置的物理文件的请求。
发布于 2010-02-09 11:16:53
Rex得到了正确的答案,但我只是尝试了一些类似的方法来处理.jpg,结果失败了。
“验证该文件存在”的复选框非常重要,但该文件夹的授权仍然存在问题。
然后,我尝试更改我为该文件夹添加并添加的新web.config。
<authorization>
<allow users="*" />
</authorization>而且起作用了。因此,授权过程中有些事情不允许我处理.jpg请求。是的,我在那个应用程序中进行了身份验证,如果我尝试请求一个.jpg,它仍然失败。
希望这解决了证明您的Handler工作良好,但为此您需要有一个重大的安全问题.
https://stackoverflow.com/questions/548366
复制相似问题