2012-08-23 38 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解决时间而不是模块加载时间 –