【问题标题】:MVC 5 Not working in IIS 7MVC 5 在 IIS 7 中不工作
【发布时间】:2014-11-22 07:24:31
【问题描述】:

我尝试在 IIS7 中运行我的 ASP.NET MVC5,但是网站只显示我的 cshtml 文本。

我的配置:

GoWireless>基本设置>选择(.Net Framework版本:无管理控制台,管道模式:经典)

GoWireless>目录浏览>已启用

Index.cshtml 仅显示此文本

@model IEnumerable @{ ViewBag.Title = "Active Directory"; } 积极的 目录

欢迎,@User.Identity.Name.Remove(0,User.Identity.Name.IndexOf("\") + 1)!

这是 GoWireless 活动目录搜索器,您可以使用搜索 框或单击左角的其中一名员工以查看 员工详细信息。如果要搜索仅存在于 GoWireless\ActiveDirectory 并且在 GW_UTA\ActiveDirectory2 中不存在 您可以输入并搜索他\她的详细信息之一(SamAccountName, GivenName、Surname、Email 或 EmployeeNumber) 的完整格式 搜索框。

了解更多

_Layout.cshtml 仅显示此文本

@model IEnumerable
Toggle navigation   Failed to load images
@User.Identity.Name
@using (Html.BeginForm("Index", "Home", FormMethod.Post)) {
@Html.TextBox("search", null, new { @class = "form-control", @placeholder = "Search..." })  
}
@foreach (var item in Model) {
class="active"} href='@Url.Action("Details", "Home", new { id = item.SamAccountName.Replace(".", "_") })'>@item.SamAccountName
ViewBag.count = 1; } @if (ViewBag.count != 1) { EasyAD.EasyAD ad = new EasyAD.EasyAD("dc1.gowireless.net:389", "gowireless\\ldapuser", "abc123!@#"); System.Data.DataTable dt = ad.GetUsers(ViewBag.search); var count = 0; while (count < dt.Rows.Count) { if (dt.Rows[count]["SamAccountName"].ToString() != null && dt.Rows[count]["SamAccountName"].ToString() !="") {
class="active"} href='@Url.Action("Details", "Home", new { id = dt.Rows[count]["SamAccountName"].ToString().Replace(".", "_") })'>@dt.Rows[count]["SamAccountName"]
} else { ViewBag.warning = 1; } count++; } if (dt.Rows.Count <= 0) { ViewBag.count = 0; } }
@RenderBody() @if (ViewBag.warning == 1) {
× Warning! someone is containing the employee @ViewBag.search without SamAccountName, Please check manually the GoWireless\\ActiveDirectory.
} @if (ViewBag.success == 1) {
× Well Done! @ViewBag.search is successfully updated in ga_uta\\activedirectory.
} @if (ViewBag.count == 0) {
× Heads Up! @ViewBag.search is not exist in GW_UTA or GoWireless, maybe you are missing something?
} @if (ViewBag.error == 1) {
Oh Snap!
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum tincidunt est vitae ultrices accumsan. Aliquam ornare lacus adipiscing, posuere lectus et, fringilla augue.

Some Error Accured
}

应该是这样的

【问题讨论】:

标签: c# visual-studio-2012 iis-7 asp.net-mvc-5


【解决方案1】:

托管模块

bin 文件夹包含 MVC 的所有必要程序集(不需要将 MVC 5 作为先决条件进行部署,因为它是网站部署包的一部分)。

然而,出于某种原因,MVC 没有重写 URL 来为我的站点调用正确的处理程序。所以,在各种 * 文章和博客文章中进行了更多探索之后,当我终于遇到 this one on MSDN 时,我有了一个突破。它解释了如何使用 IIS 管理器的 GUI 将 UrlRoutingModule 显式添加到 web.config,即使它显示为为我的站点安装:

在我取消选中 “仅针对 ASP.NET 应用程序或托管处理程序的请求” 复选框后,条目类型更改为 本地(参见上面的屏幕截图)和我的 web.config 中出现了相应的部分。 IIS 突然开始理解&lt;system.webServer&gt; 部分(我还是不知道为什么),站点开始渲染 MVC 视图。 See more at cdonner...

【讨论】:

  • 伙计,你救了我!我不断收到 403 错误,其他文章没有帮助。