在一个Web应用程序下的多个facebook应用程序
问题描述:
我正在尝试为一些Facebook应用程序使用umbraco cms。我的想法是让每个facebook应用都在umbraco的aspx页面中(这些“应用”非常简单,只有少量图像,也许每个都是轮询)。但是我可以在web.config中只有一个facebookSettings。是否可以不在web.config中设置Facebook应用程序,但在代码后面设置设置?或者有另一种方式在一个Web应用程序(umbraco)中拥有多个facebook应用程序?在一个Web应用程序下的多个facebook应用程序
编辑:我使用的是facebooksdk 5.0.2测试版上Prabir的博客this post
答
见第4节就如何在代码中设置的Facebook设置的详细信息。
编辑:您还需要管理FacebookClient的情况时,为了避免混淆,即静等要非常小心
答
您需要首先创建实现IFacebookApplication一个新的类。
private class RequestScopedFacebookApplication : IFacebookApplication
{
private IFacebookApplication Current
{
get
{
var url = HttpContext.Current.Request.Url;
var app = GetSettingsForUrl(url);
return app;
}
}
public string AppId
{
get { return Current.AppId; }
}
/* ....... */
}
然后在Global.asax的Application_Start中设置你的Facebook应用程序。
public void Application_Start()
{
FacebookApplication.SetApplication(new RequestScopedFacebookApplication());
}
更新:这是一个额外的样本实现:https://gist.github.com/820881
能否请你解释一下,我可以在一个网站上有多个Facebook应用程序工作吗?是不是有一个想法让自己的设置拥有多个IFrarchApplication类,然后在需要时执行FacebookContext.SetApplication? – bfi 2011-02-09 09:50:49