IIS 8.5上的ASP.NET MVC

时间:2016-07-04 08:43:08

标签: c# asp.net asp.net-mvc iis

我决定在远程IIS上部署我的MVC应用程序。我以前从未部署过IIS。 我的应用程序已在本地运行(它是由经典的MVC模板和Entity Framework组成的,只有一个* .cshtml页面)所以我发布了它并复制到服务器上。然后在网站中我将它添加到sites文件夹中: enter image description here

然后我将目录浏览设置为启用。它适用于http://localhost/Home/我看到Index.cshtml和web.config。

然后,如果我点击该文件,我收到此错误: enter image description here

所以我查看了处理程序映射,并尝试Add Managed Handler...*.cshtml文件添加任何内容。enter image description here

但我不知道这是否应该是我应该做的,如果是,选择什么类型,或者名称:类型下是否相关。 DefaultAppPool配置为具有集成管道模式的.NET CLR版本v4.0.30319。

EDIT1(我的控制人员):

public class HomeController : Controller
{
    private ScannerContext db = new ScannerContext();

    // GET: Home
    public ActionResult Index()
    {
        Shelves shelves = new Shelves();

        /* Fill with data */
        shelves.shelfA1 = db.tblShelves
            .Where(x => x.name.StartsWith("A") && x.column <= 12)
            .OrderByDescending(x => x.row)
            .ThenBy(x => x.column)
            .ToList();

        shelves.shelfA2 = db.tblShelves
            .Where(x => x.name.StartsWith("A") && x.column > 12)
            .OrderByDescending(x => x.row)
            .ThenBy(x => x.column)
            .ToList();

        shelves.shelfB = db.tblShelves
            .Where(x => x.name.StartsWith("B"))
            .OrderByDescending(x => x.row)
            .ThenBy(x => x.column)
            .ToList();

        shelves.shelfC = db.tblShelves
            .Where(x => x.name.StartsWith("C"))
            .OrderByDescending(x => x.row)
            .ThenBy(x => x.column)
            .ToList();

        shelves.shelfD = db.tblShelves
            .Where(x => x.name.StartsWith("D"))
            .OrderByDescending(x => x.row)
            .ThenBy(x => x.column)
            .ToList();

        return View(shelves);
    }
}

1 个答案:

答案 0 :(得分:0)

尝试将处理程序映射的类型更改为下面的一个。 System.Web.Ui.Page。

然后查看目录顺序。我相信它应该如下所示:

enter image description here

添加应用程序并使用项目文件夹设置物理路径!