2012-07-29 70 views
2

为什么不能我注册的HttpModule一个目录下?路径/文件夹下注册的HttpHandler

<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 I M得到一个404这是为什么不工作?

我想facebookredirect.axd/home/

下面是FRM工作,global.asx

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

本质。 home犯规存在,存在家庭控制器。但我想用这条路。

+0

你没有格式良好的xml。请参阅system.web打开标记。 – Nate 2012-07-29 23:44:26

+0

@Nate IT方面有效。我不想复制整个事情。只需粘贴结束标签。抱歉。 – DarthVader 2012-07-29 23:47:41

回答

2
path="/home/facebookredirect.axd" 

应该是:

path="home/facebookredirect.axd" 

而且你需要从你的路由排除这个网址:

​​
+0

啊存在。我很接近。我有一个解决方法的想法。谢谢:)你的摇滚! – DarthVader 2012-07-30 16:12:17

0

这可能是因为存在(即*个.axd)你之前增加了一个通用的个.axd处理。

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

0

尝试添加resourceType="Unspecified"

所以becames

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

至少,我有处理与相同的声明文件夹的工作。

而且文件夹 “家” 应该在服务器上存在

+0

“家” deosnt必须在服务器 – DarthVader 2012-07-29 23:11:19