2011-08-29 52 views
0

我正在使用Facebook C#SDK用於在Windows Azure中託管的ASP.NET MVC Facebook Canvas應用程序。將Facebook C#SDK配置設置移動到Azure ServiceConfiguration.cscfg

我現在有Facebook的C#SDK特定的配置設置(appSecretappId等)web.config,但我想將它們移動到服務配置文件,而不是讓我可以從舞臺到移動時更改設置在Azure中製作。

(How)可以這樣做嗎?現在我正在使用自動從web.config讀取的CanvasAuthorize屬性。

[CanvasAuthorize(Permissions = FacebookPermissions.ReadStreamPermission)] 
    public ActionResult Login() 
    { 
     return RedirectToAction("Authenticate"); // Logged in, proceed with authentication 
    } 

回答

0

我不確定將應用程序特定的配置信息放入Azure ServiceConfiguration.csfg文件的原因。此外,我會說這將是一個問題,而不是在Azure控制面板中切換VIP的問題。
我這樣做的方式是在我的(ASP.NET MVC canvas頁面)Visual Studio項目中有多個Web部署配置。一個用於分段,另一個用於生產。

我在網絡部署中使用web.config transformation functionality爲分段/生產有不同的web.config設置。 它工作得非常順利,只需右鍵單擊該項目,選擇部署並選擇是否要部署到分段或生產。您也可以通過這種方式處理特定的測試AppID。

編輯:我沒有看過Facebook C#SDK的源代碼,但我猜測web.config讀取方法實際上是硬編碼使用web.config。這也是保持在那裏的一個理由。

1

默認情況下,Facebook C#SDK查找web.config中的配置節。

您需要使用類似於此的代碼覆蓋默認的Facebook應用程序。

FacebookApplication.SetApplication(new DefaultFacebookApplication { AppId = "..", AppSecret = ".." }); 

設置應用程序的最佳位置是Application_Start。

您可以在https://gist.github.com/820881

這意味着你是不依賴於web.config中檢出樣品。您可以使用數據庫,天藍色服務配置或任何取決於您可以從中檢索設置的邏輯。