当我在Windows Azure的窗口中调整这些设置时,我需要传播实体框架的连接字符串更改,asp.net成员身份(都在web.config的connectionstrings部分中)和会话状态(在sessonstate的sqlconnectionstring中)。服务配置。

在开发过程中,我们将我们的应用程序测试为标准的asp.net Webforms应用程序,但是一旦部署,它就会在Azure中运行。 因此,我们需要允许网站在非天蓝色和天蓝色的环境中运行。 这就是为什么我们现在仅依赖web.config中的值的原因,因为在我的代码中没有直接调用这些连接字符串,而是编写了一个实用程序类,该实用程序类从azure服务配置中获取(如果可用),否则从web.config中获取这些值是不可能的。

我意识到编辑web.config会导致服务中断-我只打算在下班时间这样做。

===============>>#1 票数:2

我认为最好的方法是将配置信息包装在服务中。 然后,在服务中,使用RoleEnvironment确定要使用的设置。 例如

public static class Config
{
    public static string ConnStr
    {
        get
        {
            if (RoleEnvironment.IsAvailable)
                return RoleEnvironment.GetConfigurationSettingValue("ConnStr");

            return ConfigurationManager.AppSettings["ConnStr"];
        }
    }
}

如果这不起作用,并且您需要更改实际的web.config(例如,使用命名的连接字符串),则需要在运行时修改配置。 在您的角色开始时,执行以下操作:

var config = WebConfigurationManager.OpenWebConfiguration(null);
var connStrs = WebConfigurationManager.OpenWebConfiguration(null).GetSection("connectionStrings") as ConnectionStringsSection;
connStrs.ConnectionStrings["ConnStr"].ConnectionString = RoleEnvironment.GetConfigurationSettingValue("ConnStr");
config.Save();

要在角色运行后更改配置时进行处理,只需从RoleEnvironment.Changing事件中调用与上面相同的代码。

祝好运,

埃里克

  ask by DkDev translate from so

未解决问题?本站智能推荐:

3回复

在Service配置中设置应用程序ConnectionString,而不是在Azure中设置web.config

我目前在Azure中有一个应用程序,每当我们将它推入Staging段时,由于连接字符串指向prod数据库,我们无法真正测试。 有人向我提到,您应该能够在(而非)web.config文件中设置ServiceConfiguration.cscfg文件中的连接字符串。 这样,您可以更改Azur
2回复

如何在代码中没有帐户ID的情况下连接到C#项目中的Windows Azure?

我目前正在C#( https://github.com/ismaelbelghiti/Tigwi )中的Windows Azure项目上工作,并且要连接到存储帐户,我需要一个带有存储帐户密钥的连接字符串,但是该密钥会出现在源代码。 如何避免密钥出现在代码源中? 我考虑过要使用一个未提交的
3回复

DefaultConnection和membership - localsqlserver和defaultconnection之间的连接是什么

嗯...我真的无法理解这一点。 在web.config我有: 和 但后来它抱怨: 当我在设置选项卡中使用VS2012 RC的发布时,我得到一个ModelContext和一个DefaultConnection,那么这应该如何工作呢? 我想要的只是在与modelc
1回复

Azure Web作业的连接字符串,用于更新与WebAPI项目连接的Azure数据库

我有一个运行正常的Web api项目,使用以下连接字符串在azure中运行: 发布此项目时,在“设置”选项卡中,我使用如下所示的Azure数据库的连接字符串。 这一切都很好。 然后,我通过在Visual Studio中右键单击我的Web api项目并选择“添加”->“
1回复

找不到运行Azure函数和实体框架的连接字符串

我在一个项目中有一个Asp.Net MVC应用程序,并将用于连接到Entity Framework的数据库上下文文件移到了它自己的项目中,以便可以从我的Asp.Net MVC应用程序和Azure Function应用程序访问EF。 。 但是,尝试获取连接字符串时,运行Azure函数会引发异常。
1回复

Azure管理门户中的SQL Azure EF数据库第一个连接字符串

我有一个运行n Azure的站点,它使用EF Database First模型。 如果我在web.config中嵌入连接字符串并且部署all是美好的。 但是,我不希望web.config中的连接字符串,因为它包含凭据。 所以我将它移动到Azure Properties中的连接
1回复

Azure中的实体框架连接字符串错误

我目前在部署到Azure时遇到错误。 我直接从Web配置文件中获取了连接字符串,该连接字符串在本地测试时可以正常工作,并且我对其进行了修改以适合我在Azure上的部署,但是随后出现错误。 以下是在我的本地计算机上可以使用的原始连接字符串: 下面是Azure的修改后的连接字符串:
1回复

如何在WAWS配置文件中指定Entity Framework连接字符串?

我正在将Web应用发布到Azure。 我正在使用Entity Framework 6.0在VS2013中进行开发。 我试图在WAWS.json文件中而不是在web.config文件中指定数据库连接字符串,以便我可以在部署时而不是在构建时更改值。 (我正在通过Visual Studio
1回复

应用程序配置文件中的连接字符串不包含必需的providerName属性

我在Azure中有一个WorkerRole,它连接到MSSQL数据库(也在Azure中,在自己的虚拟机上 - 换句话说,不是Azure SQL数据库)。 WorkerRole正在使用EntityFramework(代码优先)。 我的连接字符串看起来像这样,来自worker角色的连接在我的
5回复

如何通过Windows Azure(预览)管理门户设置ADO.NET实体框架连接字符串?

在Windows Azure(预览版)管理门户中,您可以更改网站的配置选项(请参见http://www.windowsazure.com/en-us/manage/services/web-sites/how-to-configure-websites/ #howtochangeconfig )