当 Web 应用程序处于活动状态时,如何在开发环境中运行 MVC 6 Web 应用程序 [重复]
Posted
技术标签:
【中文标题】当 Web 应用程序处于活动状态时,如何在开发环境中运行 MVC 6 Web 应用程序 [重复]【英文标题】:How to run the MVC 6 web app in Development environment when the web app is live [duplicate] 【发布时间】:2016-02-02 20:45:36 【问题描述】:我创建了一个 ASP.Net MVC 6(ASP 5,ASP vNext RC1)Web 应用程序,我已使用 WebDeploy 在测试服务器 (IIS 7.5) 上部署(发布)该应用程序.
当我在本地运行应用程序时,启动类中的IHostingEnvironment
参数为env.EnvironmentName == "Development"
。
发布到服务器后,env.EnvironemntName == "Production"
问题
在服务器上发布应用程序后,如何将应用程序更改为在Development
(或Test
)环境中运行?
换句话说,当应用程序在 IIS 上运行时,我想要env.EnvironmentName == "Development"
。
其他信息
我有三个应用程序设置文件:appsettings.json
、appsettings.development.json
和 appsettings.test.json
。
每个都有不同的连接字符串。
【问题讨论】:
【参考方案1】:最简单的方法是将系统环境变量ASPNET_ENV
设置为Development
值。更多信息请参见the documentation。
【讨论】:
已经设置为Development
。
@AliShar***i:您应该验证HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
确实包含名称为ASPNET_ENV
和值Development
的键。
所以在服务器上,这个key是不存在的,我手动创建的,并将env.EnvironmentName
的值记录到一个文件中,它仍然是Production
@AliShar***i:抱歉,如果您不想启动服务器,则应该不要手动创建注册表值。取而代之的是,您应该转到“系统属性”的“高级”选项卡(此PC上的上下文菜单)单击“环境变量...”,然后在“系统变量”中创建新的/修改现有的。不同之处在于:控制面板插件向所有窗口发送广播消息,通知环境的变化。您现在可以创建/修改一些系统环境变量或 rebbot 服务器。
我在系统属性中创建了环境变量,(在用户变量和系统变量中),我将值设置为Development
,Staging
还检查了注册表项,一切都很好。但是,当我发布网站时,应用程序仍在Production
中运行。以上是关于当 Web 应用程序处于活动状态时,如何在开发环境中运行 MVC 6 Web 应用程序 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
当应用程序从后台处于活动状态时,如何避免在本机反应中安装组件?
FCM 点击如何在应用程序处于后台状态时打开用户指定的活动而不是默认活动
Ios:当应用程序处于非活动状态时,如何让我的应用程序返回根视图