问题
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 (umbraco)?
EDIT: I'm using facebooksdk 5.0.2 beta
回答1:
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.
回答2:
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
来源:https://stackoverflow.com/questions/4931240/multiple-facebook-apps-under-one-web-application