这是如何使用CloudConfigurationManager设置Context Connection String的?

时间:2012-06-26 02:17:35

标签: azure azure-configuration

我希望使用CloudConfigurationManager,以便我可以利用Azure配置文件。我想使用连接字符串,我在Cloud.cscfg中添加了一个字符串来配置实体框架上下文。

我正在配置我的上下文

public DomainContext()
    : base("ContextConnectionString")

这是从Web.config

获取ContextConnectionString

我将Context Constructor更改为此

public DomainContext()
    : base(CloudConfigurationManager.GetSetting("ContextConnectionString"))

它现在有效。

是否有更优雅的方式告诉我的上下文构造函数首先使用Azure cscfg?

2 个答案:

答案 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构造函数重载,该重载将设置连接字符串。