我使用codeplex中的C#Facebook SDK设置了一个测试应用程序。在与应用程序的初始连接时,将提示用户输入适当的权限。如果他们授权权限,他们最终会在一个给出500错误的页面上。 FacebookAppRedirectHttpHandler.ProcessRequest上的断点永远不会触发,所以我不知道如何调试它。
答案 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>
之后,它在经典模式下工作没有任何问题。