我希望使用CloudConfigurationManager,以便我可以利用Azure配置文件。我想使用连接字符串,我在Cloud.cscfg中添加了一个字符串来配置实体框架上下文。
我正在配置我的上下文
public DomainContext()
: base("ContextConnectionString")
这是从Web.config
获取ContextConnectionString我将Context Constructor更改为此
public DomainContext()
: base(CloudConfigurationManager.GetSetting("ContextConnectionString"))
它现在有效。
是否有更优雅的方式告诉我的上下文构造函数首先使用Azure cscfg?
答案 0 :(得分:10)
目前没有更优雅的解决方案,没有。事实上,这比你一个月前写的要优雅得多。 CloudConfigurationManager
是1.7 SDK中的新类,因为之前没有内置支持来执行此类操作。如果您想执行CloudConfigurationMangager
现在所做的事情,您必须创建自己的类pretty common。
答案 1 :(得分:2)
您是否可以发布代码示例?
CloudConfigurationManager应首先检查代码是否在Windows Azure角色中执行,如果是,请尝试从ServiceConfiguration.cscfg文件(使用该角色部署)中检索配置值。如果未在角色中运行,CloudConfigurationManager应恢复为应用程序的.config(web.config或app.config)文件。在任何一种情况下,我都相信如果找不到值,则返回NULL。
从.cscfg文件中检索连接字符串(假设代码在Windows Azure Web角色中运行),该值可以传递给EF构造函数重载,该重载将设置连接字符串。