【发布时间】:2011-02-22 13:44:59
【问题描述】:
HttpContext.Current.Request.IsLocal 在 Global.Asax/Application_Start 中不可用(Request 在上下文中不可用)。
我还能如何安全地确定我的 ASP.NET MVC 应用程序是否在本地启动?
这是有条件地重写我的 web.config(取决于应用程序是部署(远程)还是测试(本地))。
谢谢!
【问题讨论】:
-
Global.asax 中的哪个函数?我相信根据上下文可以使用不同的项目。我相当确定 HttpContext.Current.Request 在 Application_Error 中可用,但在其他中不可用...
-
你能在 Application.BeginRequest 中使用它吗?它在那里可用....
-
没有。这是对配置文件的一次性操作。 Application_Start 在应用程序启动时执行一次(根据需要),BeginRequest 与对应用程序的每个请求一起执行(放置一次性操作的地方非常糟糕)。
-
好点。只是想了想。
-
有趣的是,当我通过 VS 在本地执行应用程序时,HttpContext.Current.Request.IsLocal 在 Global.Asax 中有效,但在远程服务器上部署时无效。
标签: c# asp.net asp.net-mvc localhost global-asax