“Facebook.FacebookApplication”的类型初始化程序引发了异常

时间:2011-10-01 20:20:08

标签: facebook-c#-sdk

我正在使用Facebook API w / oAuth使用他们的Javascript SDK登录,并设置oAuth = true。我可以从SDK中成功登录,并让我的xfbml正确呈现。

我使用Facebook C#sdk检索用户ID并发布到FB。我写了一个小测试页来做到这一点。

HTML是:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="fbtest.aspx.cs" Inherits="fbtest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        ID:<asp:label runat="server" text="Label" ID="Userid"></asp:label><div />
        <asp:label runat="server" text="Label" ID="FacebookTokenLabel"></asp:label>
    </div>
    </form>
</body>
</html>

背后的守则是:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Facebook;
using Facebook.Web;
public partial class fbtest : System.Web.UI.Page
{
    private FacebookWebClient _facebookApp; 
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
          //  FacebookWebContext fbWebContext = FacebookWebContext.Current;
          //  FacebookTokenLabel.Text += fbWebContext.AccessToken;

           FacebookWebClient fb = new FacebookWebClient();
           dynamic me = fb.Get("me");

           FacebookTokenLabel.Text = me.name;
           Userid.Text = me.id;
        }
        catch (Exception ex)
        {
           FacebookTokenLabel.Text =  ex.Message + ":" + ex.StackTrace;
        }
    }
}

我试过所有浏览器(IE9,chrome 14.0.835.186 m和FF 6.0.2),我得到了同样的例外:

ID:Label
The type initializer for 'Facebook.FacebookApplication' threw an exception.:
at Facebook.FacebookApplication.get_Current() in e:\Prabir\Documents\Projects\facebooksdk\v5.2.1\Source\Facebook\FacebookApplication.cs:line 48
at Facebook.Web.FacebookWebContext..ctor() in         e:\Prabir\Documents\Projects\facebooksdk\v5.2.1\Source\Facebook.Web\FacebookWebContext.cs:line 48 
at Facebook.Web.FacebookWebContext.get_Current() in e:\Prabir\Documents\Projects\facebooksdk\v5.2.1\Source\Facebook.Web\FacebookWebContext.cs:line 96 
at fbtest.Page_Load(Object sender, EventArgs e) in c:\inetpub\vhosts\beirutna.com\subdomains\beta\httpdocs\fbtest.aspx.cs:line 16

你可以尝试自己: http://beta.beirutna.com并在右上角登录,它会显示您的用户名和图块。然后转到:http://http://beta.beirutna.com/fbtest.aspx

1 个答案:

答案 0 :(得分:0)

检查您的内部异常

在我的案例中,它透露: 尝试访问配置部分'facebookSettings'时,ConfigurationPermission请求失败。要允许所有调用者访问此部分的数据,请在声明此部分的配置文件中将section属性“requirePermission”设置为“false”。