2012-08-23 86 views
0

我想配置一些鍵/值對Windows Azure上預覽門戶使用應用程序設置部分我Azure的Web應用程序讀取Azure的網站應用程序設置。 enter image description here裏面怎麼RegisterServices方法

根據documentation,Azure應該在運行時將配置的鍵/值對注入到.Net配置AppSettings中。

有人知道,如何讀RegisterServices方法中NinjectWebCommon類的這個值?我嘗試了一種常見的方式

ConfigurationManager.AppSettings["MyWebApp.DbConnectionString"]; 

但它返回空值或空值。稍後在我的Web應用程序中閱讀應用程序設置可以正常工作

+0

您的代碼爲我工作的罰款。這可能聽起來有點愚蠢......但是您是否明確地通過屏幕底部的保存按鈕保存配置?它「看起來」像添加它們時設置的值一樣,但只有在您按下該按鈕之後纔會保存。起初我沒有聽到。 –

+0

謝謝。我嘗試了一下,並且發現問題出在Ninject MVC3集成上。 –

回答

0

我不知道究竟怎麼了這個工作,但是RegisterServices方法可能早於天青稱爲注入應用程序設置成配置。幸運的是,有一種替代方法可以安裝Ninject for MVC3(參見Using Binaries from Github)。

+0

+0很確定當Ninject獲得足夠的初始化時,這並不足以改變順序。 - 也許你正在使用你的RegisterServices來調用一些啓動任務來準備連接字符串並對其進行排序? –

+0

我的'RegisterServices'方法只包含兩行:一個用於將MyAppContext類綁定到self,另一個用於綁定ifcene接口。第一行通過一個簡單的靜態方法調用'ConfigurationManager.AppSettings []',僅此而已。我懷疑問題可能是由Ninject for MVC3使用的_WebActivator_引起的。 –

+1

任何方式你可以改變它使用lambda表達式來獲得配置設置,而不是在做'Bind()'的時候做這件事?在解決點做絕對應該使這兩種方法可以歸結爲同樣的事情(即在'要*'一個綁定的一部分,你需要把一個'CTX =>'推遲分辨率Ninject解決時間而不是模塊加載時間 –