13

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

我正在像这样配置我的上下文

public DomainContext()
    : base("ContextConnectionString")

这是从 Web.config 获取 ContextConnectionString

我将上下文构造函数更改为此

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

现在它可以工作了。

有没有更优雅的方法来告诉我的上下文构造函数首先使用 Azure cscfg?

4

2 回答 2

10

目前没有更优雅的解决方案,没有。事实上,这比你一个月前写的要优雅得多。这CloudConfigurationManager是 1.7 SDK 中的一个新类,它是因为以前没有内置的支持来做这种事情而创建的。如果你想做CloudConfigurationMangager现在要做的事情,你必须创建自己的类,这很常见

于 2012-06-26T21:08:44.030 回答
2

您能否发布代码示例?

CloudConfigurationManager 应首先检查代码是否在 Windows Azure 角色中执行,如果是,则尝试从 ServiceConfiguration.cscfg 文件(与角色一起部署)中检索配置值。如果未在角色中运行,CloudConfigurationManager 应恢复为应用程序的 .config(web.config 或 app.config)文件。在任何一种情况下,如果找不到该值,我相信会返回 NULL。

通过从 .cscfg 文件中检索连接字符串(假设代码在 Windows Azure Web 角色中运行),可以将该值传递给将设置连接字符串的 EF 构造函数重载。

于 2012-06-26T03:18:25.760 回答