繁体   English   中英

将 ASP.NET MVC 5 应用程序部署到 Windows Server 2008 R2 上的 IIS 7.5

[英]Deploying ASP.NET MVC 5 Application to IIS 7.5 on Windows Server 2008 R2

我一直在尝试许多不同的方法来让我的 MVC 5 应用程序在 Windows Server 2008 R2 IIS 7.5 上运行,但无论我做什么,网站加载时都没有错误,只是加载了一个空白的白页。 服务器安装了最新版本的 .NET,我已将所有程序集添加到“bin”文件夹中,我在 Web.Config 文件中添加了依赖项,尝试使用 IIS 应用程序池上的各种设置,我什至添加了我的 MVC 应用程序作为它自己在 IIS 上的站点。

当我创建一个测试 MVC 4 应用程序并发布它时,该网站开箱即用。 似乎任何使用 .NET 4.0 及以下版本的东西都可以正常工作,但任何高于它的版本都不能。

我觉得我已经阅读了每一篇 Stack Overflow 帖子、网络上的每篇文章以及关于这个问题的每一篇 Microsoft 帖子,但没有得到任何结果。

****更新****

我发现当我在 MVC 5 应用程序上输入基于 MVC URL/路由约定(例如 /Home/About)的 URL 时,它给了我一个 HTTP 404 错误,但是当我在 MVC 4 上使用相同的 URL 时应用程序,它会转到正确的页面。

我有一个类似的问题,我最终做了一些类似于 OP 的事情(我怀疑他现在已经解决了这个问题)。 我创建了一个测试应用程序,它使用 IIS 7.5 开箱即用,无需特殊处理程序或任何东西。 这是在 Server 2008 R2 IIS 7.5 中安装了所有内容(ASP.NET 等)。 应用程序池设置为集成和 .NET 4.0。 我不需要添加特殊的处理程序。 一旦我知道了一个好的应用程序,我就会浏览好的和坏的应用程序的 web.config,并将代码从好的复制到坏的。

我相信但不确定这是正确的部分。 它存在于错误的配置中,但不存在于良好的配置中。

 <handlers>
      <remove name="MvcResourceHandler" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
    </handlers>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM