有没有办法以编程方式设置ASP.NET Universal Providers的连接字符串?

时间:2012-04-04 18:46:26

标签: .net azure asp.net-membership

我正在寻找使用ASP.NET Universal Providers的Azure部署解决方案。我想将我的连接字符串存储在Azure配置中而不是web.config中,因此我可以在不重新部署的情况下更改它们。我曾想过从设置加载并添加到ConfigurationManager.ConnectionStrings集合,但这只是readonly。有一些反思黑客可以克服这个问题,但这似乎不是正确的方法。我还考虑从提供程序类派生来创建我自己的可以设置连接字符串的提供程序类,但是我没有看到要设置为覆盖连接字符串的属性。关于使用提供程序但在我的web.config中没有连接字符串的方法的任何想法?

1 个答案:

答案 0 :(得分:1)

我建议您将设置放在Azure配置文件中然后编写启动任务,或者在WebRole.cs OnStart中,您可以访问IIS Management API并使用正确的连接字符串更新其中的web.config文件。这样您就不必以编程方式访问连接字符串,但仍然可以按照自己的意愿进行操作。

您可以查看此博客文章,了解使用API​​的一些示例,尽管它没有按照您的意愿执行:

http://blogs.msdn.com/b/tom/archive/2011/02/18/installing-and-using-an-httpmodule-in-windows-azure.aspx