0

可能重复:
如果站点在 localhost 或 127.0.0.1 上运行,如何检查 ASP.NET MVC 视图

我在 web.config 中使用两个连接字符串条目,并且我使用 HttpContext.Current.Request.UserHostAddress 来检测部署和开发环境:

public static SqlConnection GetSqlConnection()
{
    if (HttpContext.Current.Request.UserHostAddress != "127.0.0.1")
    ...
    else
    ...
}

但问题就在这里,有时 HttpContext.Current 为空并引发异常(即:当计划任务从 global.asax 在 asp.net 中运行时)。有什么通用的解决方案吗?

4

1 回答 1

4

您应该在环境之间更改配置文件中的连接字符串。这就是为什么它们首先存储在配置文件中的原因,因此您不必这样做。

我更喜欢将连接字符串放在一个单独的文件中,根本不部署它。其他特定于环境的配置也可以这样做。另一种方法是使用 XML 转换作为构建作业的一部分,以便在部署到生产环境时更改连接字符串。

于 2012-12-30T21:32:08.880 回答