ASP.NET MVC Web部署将不会覆盖默认Web站点

问题描述 投票:1回答:1

我有我想要部署到远程计算机上的Windows Server 2016虚拟机一个相当大的ASP.NET MVC项目。部署工作在那我可以进入IIS管理器,看看ViewsContent等下Default Web Site但我不能查看网站本身。它默认的IIS起始页面。

我以前争夺一些web.config错误,在我的<modules>web.config部分是造成内部500错误。我注释掉下面的代码,它停止错误:

<modules>
  <remove name="TelemetryCorrelationHttpModule" />
  <add name="TelemetryCorrelationHttpModule" type="Microsoft.AspNet.TelemetryCorrelation.TelemetryCorrelationHttpModule, Microsoft.AspNet.TelemetryCorrelation" preCondition="integratedMode,managedHandler" />
  <remove name="ApplicationInsightsWebTracking" />
  <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
</modules>

但现在Default Web Site默认返回到之前的状态,初始IIS网站。这不是一个缓存的问题,多台计算机/浏览器都看到了同样的网站。

这里的Default Web Site按照IIS服务器的截图:

IIS

我难倒这一点。至少与内部500错误,我知道我的网站是造成问题,但是这似乎是压倒一切的,我在我的项目设置的任何配置。

我有我的ApplicationHost.config复制到由于在计算器上的字符数限制一个引擎收录链接:

https://pastebin.com/0K0TDgTh

我与ASP.NET部署和IIS的经验仅限于今天上午从字面上所以我不知道我要找的,任何建议,将不胜感激。

asp.net-mvc iis
1个回答
3
投票

相反,覆盖默认的网站,你可以禁用它,并为您的网站新的虚拟主机:

应用程序池

它始终是一个很好的做法,在其自己的应用程序池中运行的每个应用程序,所以如果一个应用程序失败,也不会影响在同一台服务器上运行的其他应用程序,并允许选择不同的版本,为每个应用程序.NET框架。

要创建一个应用程序池,用鼠标右键单击“应用程序池”,然后“添加应用程序池”,填补了名称并选择.NET framework版本。

如果你的应用是32位或包含32个模块,您需要启用32位应用程序的支持,要做到这一点,右键单击新创建的应用程序池的应用程序池的列表,然后点击“高级设置”,并设置“使32位应用程序”设置为TRUE:

Enable 32-Bit Applications

你可能想在这里配置其他设置启动模式和过程模型的身份,虽然默认应为您的工作需要。

建立您的网站

通过点击其名称停止默认Web站点,然后点击“停止”右栏的“网站管理”部分。

然后,右键单击“站点”和“添加网站”,填补了名称,并选择您之前创建的应用程序池,选择你的端口(通常为80),留下IP地址,因为它是和选择你的网站的物理路径。

New IIS Web Site window

单击确定,忽略有关使用相同的端口作为现有网站的任何警告。您的网站应达和http://localhost现在运行

现在,你需要删除默认网站(右键单击,删除),或者你需要改变你已经在使用你的新网站,以改变该端口的端口80以外的东西,用鼠标右键单击默认网站,然后“编辑绑定”,并删除绑定或编辑就可以改变其端口。

Web部署

Web部署可能已经为你工作,但要确保,右键点击你的网站名称,然后为新网站重新配置Web部署。

© www.soinside.com 2019 - 2024. All rights reserved.