【问题标题】:Getting MVC/cshtml/vbhtml pages working on IIS8让 MVC/cshtml/vbhtml 页面在 IIS8 上工作
【发布时间】:2014-06-12 15:31:53
【问题描述】:

一直在这几个小时......

新的 Windows 2012 服务器,全新的 IIS 8 安装,所有 asp.net、3.5、4.5、ISAPI 扩展/过滤器/所有安装。

应用程序池是 4.0 和集成模式。这是唯一使用该应用程序池的网站。

尝试使用 index.vbhtml 作为默认文档运行网站(将其添加到默认文档后),我得到“无法服务器此类页面”“明确禁止”。

我在 IIS 管理器中查看“处理程序映射”。 .vbhtml 设置为“forbiddenhandler”,因此我将其更改为“System.Web.DefaultHttpHandler, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”。

现在我只得到“IIS 集成管道模式不支持 DefaultHttpHandler.BeginProcessRequest 方法”

我现在卡住了!请问这该死的服务器有什么问题?

【问题讨论】:

    标签: asp.net-mvc iis razor


    【解决方案1】:

    IIS 不应该直接为这些文件提供服务,它们是通过控制器通过 MVC 管道重新呈现的。如果你有一个文件,比如 /Views/Home/Index.cshtml,你应该导航到 http://siteurl/home/index 以通过 Home 控制器上的 Index 操作查看该页面的内容。

    注意:根据下面的评论线程,OP 的潜在问题似乎与安装(或缺少)ASP.NET MVC(或损坏的安装,正如他在 cmets 中所述他确实安装了它)

    【讨论】:

    • 是的,但我没有尝试直接转到 .vbhtml 文件,我的控制器上有一个默认操作,可以加载我的 #home 路由,但它无法正常工作。在共享主机上工作正常,但在这个 IIS 服务器上我必须配置:-(
    • vbhtml 文件永远不应该通过 IIS 提供服务,您的共享主机配置错误
    • 你在这里完全搞错了。该站点在共享主机上工作。我已将其复制到我的 IIS 服务器。它在那里不起作用。我没有尝试直接访问 .vbhtml 页面,我使用的是控制器的默认操作。 IIS 上的某些配置错误,我不知道那是什么。
    • 我的回答是基于你的这一段问题Try and run website with index.vbhtml as default document (after adding it to default documents) and I get "cannot server this sort of page" "explicitly forbidden".
    • 是的...该网站配置了“index.vbhtml”作为默认文档之一。正如我一再声明的那样,我不想去www.mysite.com/index.vbhtml。我的控制器配置了一个默认路由,当我转到www.mysite.com 时应该启动它,它会将我重定向到www.mysite.com/#home。仅仅因为您将我的问题误解为我正在尝试直接加载 .vbhtml 页面并不意味着这就是我真正想要做的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 2013-12-04
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多