2011-02-08 7 views
4

私はいくつかのFacebookのアプリのためのumbraco CMSを使用しようとしています。私の考えは、umbracoのaspxページで各Facebookのアプリを持つことでした(これらの「アプリ」は非常にシンプルで、少数の画像、多分それぞれのアンケートです)。しかし、web.configにはfacebookSettingsが1つしかありません。 web.configでfacebookアプリを設定しないでコードの設定を後で設定することは可能ですか?または、1つのWebアプリケーション(umbraco)で複数のFacebookブックアプリを使用する別の方法がありますか?1つのWebアプリケーションの下に複数のFacebookのアプリケーション

編集:私は5.0.2ベータ版のコードでは、Facebookの設定値を設定する方法の詳細についてはPrabirさんのブログ上this post

答えて

1

参照部4をfacebooksdk使用しています。

編集:あなたはまた、混乱、すなわち静力学を避けるためにFacebookClientのインスタンスを管理する場合に非常に慎重になりたいだろうなど

7

あなたが最初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()); 
} 

UPDATE:ここでは、追加のサンプル実装です:https://gist.github.com/820881

+0

私は一つのサイトで複数のFacebookアプリケーションと連携する方法を説明していただけますか?独自の設定で複数のIFacebookApplicationクラスを持ち、必要に応じていつでもFacebookContext.SetApplicationを実行することは考えですか? – bfi

+0

アプリケーション開始時にのみFacebookのアプリケーションを設定してみてください。 Webアプリケーションが完全にロードされる前に – prabir

+1

あなたのロジックを "private IFacebookApplication Current {get;}"に入れてください。ゲッターからいつでもHttpContext.Current.Requestにアクセスできます。そこにあなたのロジックを実装してください。 – prabir

関連する問題