asp.net - Web.config 在 Azure 部署期间发生(大幅)更改

标签 asp.net azure web-config azure-deployment

部署到 Azure 后,我不断收到服务器错误 - 应用程序无法运行。所以我在实例中做了一个远程桌面,发现 web.config 被彻底修改了......这是怎么回事?我以为 web.config 是按原样打包的?相反,整个配置已被替换。当我用原始的、未改变的、正确的配置替换"new"版本时,我的应用程序按预期工作。

首先,这是怎么回事?我究竟做错了什么?这样我就可以理解并且将来不会重复这个。

其次,我该如何阻止这种行为?我想要部署原始的 web.config ——而不是一些任意的冒名顶替者。谢谢!

最佳答案

除非您指定了转换(使用正常的内置 web.config.debug 和 .release),否则它不会转换任何用户设置。在某一时刻,它确实改变了 machineKey 设置,以便您的 Web 角色可以在 Web 场场景中运行(如果不这样做,负载均衡器后面的任何内容都无法运行)。我确信它仍然会执行此操作,但现在可能会在 machine.config 级别执行此操作(不理会您的 web.config)。我有一段时间没有检查过这个了,所以不确定它现在做了什么。

检查将要部署的内容的简单方法是打包 cskpkg 并将其作为 .zip 文件打开。里面将是另一个包含您的网络角色名称的文件。再次以 .zip 格式打开它,您应该会看到您的网站已全部打包。检查 web.config 并确保它是您所需要的。如果没有,请在此处发回您认为不应更改的内容。

关于asp.net - Web.config 在 Azure 部署期间发生(大幅)更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11050151/

相关文章:

asp.net - 为什么在整页回发后我的 javascript 会从浏览器缓存中丢失?

mysql - ds.tables(0) = 'ds.tables(0)' 抛出类型为 'System.NullReferenceException' vb.net 的异常

asp.net - 这些 Visual Studio 2005 Performance Tool/Wizard/Session 错误是什么意思?

azure - Azure Key Vault 是否支持常规文本文件?

c# - Azure Durable Function 使用 CloudTable.ExecuteBatchAsync 生成错误 'Host thresholds exceeded: Connections'

c# - 当我指定 <Setting name ="serilog:write-to:AzureDocumentDB.endpointUrl"/> 时,.cscfg 文件给出错误

Mercurial : using general web. 配置

c# - 发送的电子邮件仍然包含 HTML 标签。

c# - 将数据库从本地更改为 azure 不起作用

c# - AuthenticationBuilder 不包含 AddAzureAd 的定义