gpt4 book ai didi

c# - 检索并使用 Windows Azure 的连接字符串?

转载 作者:太空狗 更新时间:2023-10-29 18:18:43 25 4
gpt4 key购买 nike

我已在 Azure 管理门户“配置”->“连接字符串”(链接资源)中配置了连接字符串:

enter image description here

这些连接字符串有什么用?

我尝试删除 conn。来自 web.config 文件的字符串,因此它应该从这里读取,但事实并非如此。

还有其他办法吗?

基本上我希望这些连接字符串覆盖 web.config 中的连接字符串以在生产环境中使用。

我已将以下内容添加到 Application_Start 方法中:

var sb = new StringBuilder();
var appConfig = ConfigurationManager.OpenMachineConfiguration();
foreach (ConnectionStringSettings conStr in appConfig.ConnectionStrings.ConnectionStrings)
sb.AppendFormat("Name: {0}, ConnectionString: {1}\n", conStr.Name, conStr.ConnectionString);
throw new Exception(sb.ToString());

结果如下:

Name: LocalSqlServer, ConnectionString: data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true

我也使用 ConfigurationManager.ConnectionStrings 尝试了上述操作,但服务器 (Azure) 连接字符串不存在。

最佳答案

门户中的连接字符串允许您覆盖 web.config 中定义的连接字符串。

当您在本地开发时,您可能会使用位于 localhost\SQLExpress 或类似位置的数据库。如果您在未设置 web.config 转换的情况下进行部署,则意味着在 Windows Azure 中运行的网站仍会指向 localhost\SQLExpress,这不是您想要的。

门户中的连接字符串允许您覆盖已在 web.config 中定义的现有连接字符串。如果您的 web.config 不包含与门户中配置的连接字符串同名的连接字符串,则不会添加该连接字符串,也不会在运行时访问该连接字符串。这可能是您遇到的问题。

要解决此问题,只需将一个连接字符串添加到您的 web.config 文件中,该文件的名称与您已添加到门户中的连接字符串的名称相同。

更新: 就像我在评论中已经解释过的那样,Windows Azure 网站不会物理修改 web.config ( source ),而是在运行时执行此操作。因此,为了检查哪些 AppSettings 和 ConnectionStrings 在运行时实际上可用,请尝试以下操作:

Controller :

public ActionResult Index()
{
ViewBag.ConnectionStrings =
ConfigurationManager.ConnectionStrings.Cast<ConnectionStringSettings>();
ViewBag.AppSettings = ConfigurationManager.AppSettings;
return View();
}

查看:

<h3>ConnectionStrings:</h3>
<ul>
@foreach (var setting in ViewBag.ConnectionStrings)
{
<li>@setting.Name: @setting.ConnectionString</li>
}
</ul>
<h3>AppSettings:</h3>
<ul>
@foreach (var s in ViewBag.AppSettings)
{
<li>@setting: @System.Configuration.ConfigurationManager.AppSettings[s]</li>
}
</ul>

关于c# - 检索并使用 Windows Azure 的连接字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13782337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com