asp.net mvc项目中,为何在iis6上显示404错误,是何原因造成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net mvc项目中,为何在iis6上显示404错误,是何原因造成相关的知识,希望对你有一定的参考价值。

项目本机运行不报错,而当放到租用空间上,就会显示404错误,但项目下新建一个空白页就可以直接访问,只是mvc的显示404错误,如何处理?

运行出现异常了,如果不是路径问题,就是缺组件之类的,webconfig设置为debug模式,看看返回的错误信息才能找到原因
在项目下建立一个静态页面访问看看能不能访问
能访问到说明是你程序内部错误
参考技术A 租用的空间你要改动web.config和那个iis的配置,因为mvc它引导的和普通的有些不一样 参考技术B 空间不支持 iis里面要设置

在 IIS 上使用 .NET Core 运行 ASP.NET 5 (MVC 6)

【中文标题】在 IIS 上使用 .NET Core 运行 ASP.NET 5 (MVC 6)【英文标题】:Run ASP.NET 5 (MVC 6) using .NET Core on IIS 【发布时间】:2015-04-30 16:32:01 【问题描述】:

我刚刚在 Visual Studio.NET 2015 RC 上创建了一个快速的 ASP.NET 5 MVC 6 应用程序,并希望它在我的 Windows 7 上的 IIS Web 服务器上运行。

通常,当我在 IIS 上创建网站时,我需要选择一个应用程序池,无论是 v2.0 还是 v4.0 集成。

现在,由于 .NET Core 的所有库都作为 nuget 包提供,我如何在 IIS 上运行它?我选择哪个应用程序池?这是如何工作的?

【问题讨论】:

我还没有尝试过这种部署方案,但我想 IIS 7(Windows 7 附带)不会支持这个。您过去必须重新打包 vnext 应用程序才能让它们在 IIS 中运行,因为没有 IIS 版本支持它们开箱即用。 IIS 8 现在可能会这样做,但实际上可能需要更新到 Windows 10 才能实际使用默认部署。见:github.com/aspnet/Home/wiki/… 我到处寻找,但找不到答案,我什至不确定 Windows 10。假设我希望应用程序在 IIS 上托管的 www.mywebsite.com 上运行,将如何我去解决这个问题? 我认为您正在寻找Project "Helios"。这就是我对这门学科知识的局限。 :) 【参考方案1】:

更新

正如@wickdninja 所说,以下内容已过时。使用his updated solution instead:https://docs.microsoft.com/en-us/aspnet/core/publishing/iis 要让应用程序在 IIS 上运行:


    在 v4.0 应用程序池下创建网站。

    使用dnu publish 捆绑/发布应用程序。这将创建一个包含应用程序、运行时和所有依赖项的自包含包。更改运行时名称以匹配您选择的运行时。

      dnu publish --runtime dnx-coreclr-win-x86.1.0.0-beta5-11625
    

    如果您不希望应用程序每次启动时都从源代码编译,您甚至可以传递 --no-source

    将捆绑包(来自bin\output)复制到网站根目录下。

    运行

可能出错的地方:

    IIS 位数(32/64 位)必须与 coreclr 的位数匹配。 如果不将捆绑的网站复制到网站根目录下,请确保运行 IIS 的帐户确实可以访问运行时文件夹。

【讨论】:

最后一个可能出错的事情是使用其他包在 beta 阶段不喜欢的运行时。在撰写本文时,coreclr 在 nuget 上是 beta4,在 myget.org 预发行版上是 beta5。如果你的包来自 nuget,像 Microsoft.AspNet.Mvc 这样的包在 beta4 上,根据我的经验,它不会在 beta5 coreclr 上运行,因为正在进行很多重大更改。 谢谢你,我终于让它工作了。我只需要在 .NET Core x64 架构而不是 x86 下发布网站,它就可以工作了。 Here 应用程序池建议使用“无托管代码”。 嗨,我怎样才能得到运行时列表?我不知道我应该使用哪个运行时 这个答案已经过时了。有关更新信息,请参阅下面的文档链接【参考方案2】:

这个问题已经过时了,微软已经为这个场景发布了相当详尽的文档。你可以在这里找到它:https://docs.microsoft.com/en-us/aspnet/core/publishing/iis

【讨论】:

如果你对这篇文章进行总结,它可能对你有相当多的意义。指向关于 SO 的文档通常是不受欢迎的 @paqogomez 感谢您的建议。我同意,我可以通过总结文档获得更多积分,但是由于新的docs.microsoft.com/en-us/aspnet/core/publishing/iis 是一个生成的文档,任何人都可以通过页面上的"edit" 按钮对其做出贡献,我想我将提供的任何摘要都只是很快就过时了。在文档方面,我宁愿给人们准确的信息,也不愿贪图积分。 :) 好吧,这没有抓住重点。在 SO 上,我们永远无法确定链接是否会过时,并且我们不确定信息是否是最新的。因此,我们总结而不是链接,并尽最大努力跟上我们的帖子并保持信息更新。祝你好运

以上是关于asp.net mvc项目中,为何在iis6上显示404错误,是何原因造成的主要内容,如果未能解决你的问题,请参考以下文章

iis6 上的 Asp.net mvc 4:“找不到页面”

将所有请求重定向到 IIS6 上的 ASP.NET MVC

IIS 6 上的 ASP.NET 路由

asp.net怎么配置IIS6

IIS 6 上的 ASP.NET MVC - 通配符映射 - 传入请求与任何路由都不匹配

在同一个域上运行 Asp.net MVC 和 React