2

为什么我不能在目录下注册 HttpModule?

  <system.web>
    <httpHandlers>
      <add verb="*" path="/home/facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
    </httpHandlers>

  </system.web>

<handlers>
  <add name="facebookredirect.axd" verb="*" path="/home/facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
</handlers>

/home/facebookredirect.axd我收到 404 的请求时,为什么这不起作用?

我想facebookredirect.axd在下工作/home/

下面是frm,global.asx

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

本质上。home不存在,有一个家庭控制器。但我想使用这条路径。

4

3 回答 3

2
path="/home/facebookredirect.axd"

应该:

path="home/facebookredirect.axd"

您还需要从您的路线中排除此网址:

routes.IgnoreRoute("home/{resource}.axd");
于 2012-07-30T08:20:34.997 回答
0

这可能是因为在您的之前添加了一个通用的.axd 处理程序(即*.axd)。

如果您在添加处理程序之前删除它,然后在添加处理程序后将其重新添加,它可以解决问题(免责声明:没有尝试过,只是继续证据)。

于 2012-07-29T22:48:08.243 回答
0

尝试添加resourceType="Unspecified"

所以它变成了

<add name="facebookredirect.axd" verb="*" path="/home/facebookredirect.axd" 
type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web"
resourceType="Unspecified" />

至少,我有处理程序处理具有相同声明的文件夹。

服务器上也应该存在文件夹“Home”

于 2012-07-29T22:48:39.540 回答