2011-09-30 61 views
0

我在單個Web應用程序下運行多個Facebook應用程序時遇到問題。在同一Web應用程序中的多個Facebook畫布應用程序 - CanvasAuthorizeAttribute

這個問題類似: Multiple facebook apps under one web application

我不喜歡這裏的解決方案建議,但是CanvasAuthorizeAttribute內部使用FacebookApplication.Current,這是Web應用程序中的FB應用的靜態實例。

我無法調用控制器中的.SetApplication方法,因爲我會遇到併發問題。

如果FacebookApplication.Current調用傳遞給.SetApplication的Func,而不是僅調用.SetApplication內部,那將會很不錯。

這樣我就可以傳遞一個函數來執行我的邏輯來檢索正確的FB應用程序。

我是否缺少已經在SDK中的東西?

回答

0

你總是可以有自己的邏輯在http://facebook.stackoverflow.com/questions/4931240/multiple-facebook-apps-under-one-web-application/4936703#4936703

private IFacebookApplication Current 
    { 
     get 
     { 
      var url = HttpContext.Current.Request.Url; 
      var app = GetSettingsForUrl(url); 
      // put your custom logic here and return the appropriate IFacebookApplication 
      return app; 
     } 
    } 

但是,你應該的Application_Start它仍然是在單個線程,而不是在控制器運行過程中做到這一點。

相關問題