我有一些默认值用于测试我的代码,但出于安全原因,这些值必须在我的应用程序在ASP.NET开发服务器下运行而不是在生产中时设置。 如何以编程方式确定我的应用程序的运行位置?
答案 0 :(得分:3)
一种技术是在配置中添加属性,可以使用编码转换文件进行设置。在您的web.config中,“DEV”可能是真的。在生产转换文件中,“DEV”可能为false。使用这种技术,您甚至可以拥有一个值来确定您是否在分段,测试,预生产中。这是一种用于更改连接字符串的技术。
转换文件用于根据您的部署更改配置中的各种值。
以下是更多阅读:How to: Transform Web.config When Deploying a Web Application Project
答案 1 :(得分:1)
确定您的应用程序是在本地运行还是在生产环境中运行时,这是一种非常糟糕的方法。更好的方法是使用运行时web.config值(使用Debug和Release模式的相应转换)或甚至编译时间条件(#if DEBUG ... #endif
)。
答案 2 :(得分:0)
如果“ASP.NET Development Server”是指Visual Studio附带的Cassini服务器,则没有支持的方法来执行此操作。
您可以像其他人建议的那样将信息添加到web.config,或者您可以使用一些不受支持的技术(不保证在将来的版本中工作......)。例如。检查
System.Environment.CommandLine
在Cassini下运行时将包含“... WevDev.WebServer ...”。