首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTTP Handler问题

HTTP Handler问题
EN

Stack Overflow用户
提问于 2009-02-14 02:32:00
回答 2查看 5.9K关注 0票数 2

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

代码语言:javascript
复制
        <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>中的条目

EN

回答 2

Stack Overflow用户

发布于 2009-02-14 02:52:46

请在服务器上签入.NET处理程序,以验证请求的路径物理上是否存在:

  • 转到网站的属性或虚拟目录
  • 家庭目录选项卡
  • ,单击
  • 下一节中的"Configuration“,找到.ASPX的扩展名,然后单击”编辑“,有一个复选框,上面写着”验证文件存在“。

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

票数 8
EN

Stack Overflow用户

发布于 2010-02-09 11:16:53

Rex得到了正确的答案,但我只是尝试了一些类似的方法来处理.jpg,结果失败了。

“验证该文件存在”的复选框非常重要,但该文件夹的授权仍然存在问题。

然后,我尝试更改我为该文件夹添加并添加的新web.config。

代码语言:javascript
复制
    <authorization>
                       <allow users="*" />
    </authorization>

而且起作用了。因此,授权过程中有些事情不允许我处理.jpg请求。是的,我在那个应用程序中进行了身份验证,如果我尝试请求一个.jpg,它仍然失败。

希望这解决了证明您的Handler工作良好,但为此您需要有一个重大的安全问题.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/548366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档