我正在用 C# 开发一个 ASP.NET MVC 4.5 应用程序。当我在本地 IIS Express 上编译后运行它时,它可以完美运行。但是,当我尝试将其上传到远程服务器时,它似乎无法识别其根目录中的任何内容。它只显示默认的欢迎屏幕。
我尝试重新配置 web.config 文件以指向 Global.asax 文件,但没有成功。我可以通过根据站点结构修改 URL 来加载单个图像。
ASP.NET MVC 4.5 上的初始“起始文件”是什么?如何配置 IIS7 来加载它?
我正在用 C# 开发一个 ASP.NET MVC 4.5 应用程序。当我在本地 IIS Express 上编译后运行它时,它可以完美运行。但是,当我尝试将其上传到远程服务器时,它似乎无法识别其根目录中的任何内容。它只显示默认的欢迎屏幕。
我尝试重新配置 web.config 文件以指向 Global.asax 文件,但没有成功。我可以通过根据站点结构修改 URL 来加载单个图像。
ASP.NET MVC 4.5 上的初始“起始文件”是什么?如何配置 IIS7 来加载它?
检查您的服务器配置(如果可能),首先启用 Web 服务器 (IIS) 角色(可以从服务器管理器或 PowerShell 添加),然后安装 .NET Framework,或使用 .net 框架文件夹(C:\Windows)中的 aspnet_regiis.exe \Microsoft.NET\Framework\v4.0.30319 和 C:\Windows\Microsoft.NET\Framework64\v4.0.30319),如果服务器已配置 iis Web 角色和已安装但配置不正确的 .net 框架。如果不确定要添加哪些角色功能,请使用 Web PI 并添加 IIS 推荐配置 (http://www.microsoft.com/web/downloads/platform.aspx)
注意:在 MVC 4 Web 应用程序的 Visual Studio 2012 项目模板中,作为来自 NuGet 的复制本地 MVC 程序集引用,因此您不需要在 Web 服务器上安装 MVC 4。
使用 IIS 注册当前 .NET 版本的命令(从您正在执行此实用程序的文件夹中执行,首先是 32 位,然后是 64 位操作系统上的 64 位):
aspnet_regiis -i
PowerShell 添加 Web 服务器角色:
PS> Import-Module ServerManager
PS> Add-WindowsFeature Web-Server
如果您看到默认的 IIS 欢迎屏幕,则可能是由于不正确的网站绑定 (IP:port:hostheader)。每当 IIS 无法找到具有特定绑定的网站时,它会将请求返回到带有 *:80 绑定的“默认网站”,您可能会观察到。