facebookredirect.axd生成500错误

时间:2011-01-05 00:42:38

标签: facebook-c#-sdk

我使用codeplex中的C#Facebook SDK设置了一个测试应用程序。在与应用程序的初始连接时,将提示用户输入适当的权限。如果他们授权权限,他们最终会在一个给出500错误的页面上。 FacebookAppRedirectHttpHandler.ProcessRequest上的断点永远不会触发,所以我不知道如何调试它。

4 个答案:

答案 0 :(得分:4)

您可能缺少web.config文件中的http handlers部分。见这里。

以下是您缺少的配置部分:

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

答案 1 :(得分:1)

添加validateIntegratedModeConfiguration =“false”后,不再有500个内部错误。

<system.webServer>
    <validation validateIntegratedModeConfiguration="false"/>
    <handlers>
        <add name="facebookredirect.axd" verb="*" path="facebookredirect.axd" type="Facebook.Web.FacebookAppRedirectHttpHandler, Facebook.Web" />
    </handlers>
</system.webServer>

答案 2 :(得分:0)

我也有这个问题。我通过将应用程序池切换到集成(IIS 7.0)来修复它。

话虽这么说,server.transfer似乎不能很好地将应用程序池设置为集成,我也需要它,所以我很难找到另一种解决方案来解决你提到的错误。如果你有任何想法,请告诉我。

答案 3 :(得分:0)

我在经典模式下运行IIS 7.5时遇到了相同的http 500问题,并且能够通过向IIS7处理程序部分添加前提条件来修复它:

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

之后,它在经典模式下工作没有任何问题。