发布到IIS,设置环境变量

阅读这两个问题/答案,我能够在IIS 8.5服务器上运行Asp.net 5应用程序。


Asp.net vNext早期测试版在Windows服务器上发布到IIS


如何配置MVC6应用程序在IIS上工作?


问题是,即使在IIS上运行,Web应用程序仍然使用env.EnvironmentName值Development。


另外,我想在同一台服务器上运行同一个Web(Staging,Production)的两个版本,所以我需要一个方法来分别为每个Web设置变量。


这该怎么做?


波斯汪
浏览 1421回答 3
3回答

猛跑小猪

从RC2和RTM版本开始,此建议已过时。我发现在发布中完成此任务的最佳方法是在IIS中为每个环境编辑以下web.config部分:system.webServer/aspNetCore:编辑environmentVariable条目并添加环境变量设置:ASPNETCORE_ENVIRONMENT : < Your environment name >作为drpdrp方法的替代方法,您可以执行以下操作:在project.json中,添加将ASPNET_ENV变量直接传递给Kestrel的命令:"commands": {&nbsp; &nbsp; "Development": "Microsoft.AspNet.Server.Kestrel --ASPNET_ENV Development",&nbsp; &nbsp; "Staging": "Microsoft.AspNet.Server.Kestrel --ASPNET_ENV Staging",&nbsp; &nbsp; "Production": "Microsoft.AspNet.Server.Kestrel --ASPNET_ENV Production"}发布时,使用该--iis-command选项指定环境:dnu publish --configuration Debug --iis-command Staging --out "outputdir" --runtime dnx-clr-win-x86-1.0.0-rc1-update1我发现这种方法比创建额外的IIS用户更少侵入。
打开App,查看更多内容
随时随地看视频慕课网APP