I'm trying to use the umbraco cms for a few facebook apps. My idea was to have each facebook app in an aspx page in umbraco (these "apps" are very simple, only a few images, maybe a poll in each). But I can have only one facebookSettings in web.config. Is it possible to not set the facebook app in web.config but set the settings in the code behind? Or is there another way to have multiple facebook apps in one web application (umbr开发者_JS百科aco)?
EDIT: I'm using facebooksdk 5.0.2 beta
You will need to first create a new class implementing 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; }
}
/* ....... */
}
Then in the Application_Start of global.asax, set your facebook application.
public void Application_Start()
{
FacebookApplication.SetApplication(new RequestScopedFacebookApplication());
}
UPDATE: Here is an additional sample implementation: https://gist.github.com/820881
See section 4 of this post on Prabir's blog for details on how to set Facebook settings in code.
Edit: You will also want to be very careful when managing instances of FacebookClient to avoid confusion ie statics etc.
精彩评论