gpt4 book ai didi

asp.net - Azure 站点仅在使用远程数据库在本地运行时才有效

转载 作者:行者123 更新时间:2023-12-03 04:37:17 25 4
gpt4 key购买 nike

我有一个在 windows azure 上运行的网站,我已通过链接资源连接了数据库,看起来该网站应该使用该数据库。我还在 web.config 文件中包含了正确的连接字符串。

当我在本地运行网站并使用 azure 数据库的连接字符串作为默认连接时,一切正常,并且我发现本地计算机的更新数据已反射(reflect)在远程数据库中。

每当我尝试访问任何导致数据库命中的页面(即登录或查看基本索引(来自脚手架 View ))时,我都会收到 500 错误。我尝试打开自定义错误,但我得到的只是 500 错误。我尝试从本地计算机上调试它,但这根本没有帮助,因为在本地运行站点并连接 azure 数据库时一切正常。

我还拉下了web.config文件,两边的web.config都是一样的。

我认为这与配置问题有关,但我不确定是什么。

我是否需要对 asp.net mvc 5 做一些事情才能使其与 windows azure 一起工作?看起来 .net 框架已在 azure 上正确设置为 .net 4.5。我猜想这与 Azure 不知道它应该使用 web.config 中提供的数据库有关。

以下是 web.config 连接字符串:

<add name="DefaultConnection" connectionString="Data Source=####.database.windows.net,1433;Initial Catalog=####_db;Persist Security Info=True;User ID=####;Password=####" providerName="System.Data.SqlClient" />
<add name="DefaultConnectionDeploy" connectionString="Data Source=####.database.windows.net;Initial Catalog=####_db;Persist Security Info=True;User ID=####;Password=####" providerName="System.Data.SqlClient" />
<add name="DefaultConnection_DatabasePublish" connectionString="Data Source=####.database.windows.net,1433;Initial Catalog=####_db;Persist Security Info=True;User ID=####;Password=####" providerName="System.Data.SqlClient" />

最佳答案

Windows Azure 使用转换来管理连接字符串。连接字符串在运行时合并,并且可以通过网站管理页面上的配置选项卡进行控制。每当将 Azure 数据库设置为链接资源时,它都会自动使用防火墙规则配置 Azure 数据库服务器以允许来自 Web 服务器的连接,并添加连接字符串。通过使用此连接字符串(将其命名为与开发中使用的字符串相同),无需在部署之前修改任何代码。如果没有将Azure数据库设置为链接资源,则需要手动修改防火墙规则,这不利于Azure网站的可扩展性,因此不建议这样做。

关于asp.net - Azure 站点仅在使用远程数据库在本地运行时才有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19215090/

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