1

我有一些默认值来测试我的代码,但出于安全原因,这些值必须在我的应用程序在 ASP.NET 开发服务器下运行而不是在生产环境下运行时设置。如何以编程方式确定我的应用程序在哪里运行?

4

3 回答 3

3

一种技术是向您的配置添加一个属性,该属性可以使用编码转换文件进行设置。在您的 web.config 中,“DEV”可能为真。在您的生产转换文件中,您的“DEV”可能是错误的。使用这种技术,您甚至可以确定您是否处于暂存、测试、预生产等阶段。这也是一种用于更改连接字符串的技术。

转换文件用于根据您的部署更改配置中的各种值。

阅读更多内容: 如何:在部署 Web 应用程序项目时转换 Web.config

于 2012-06-12T16:17:37.407 回答
1

这是确定您的应用程序是在本地运行还是在生产环境中运行的一种非常糟糕的方法。更好的方法是使用运行时 web.config 值(带有调试和发布模式的相应转换),甚至是编译时条件 ( #if DEBUG ... #endif)。

于 2012-06-12T16:15:14.117 回答
0

如果“ASP.NET 开发服务器”是指 Visual Studio 中包含的 Cassini 服务器,则没有支持的方法来执行此操作。

您可以按照其他人的建议将信息添加到 web.config,或者您可以使用一些不受支持的技术(不能保证在未来的版本中工作......)。例如检查

System.Environment.CommandLine

在 Cassini 下运行时将包含“...WevDev.WebServer...”。

于 2012-06-12T17:18:07.070 回答