在IIS7上安装MVC网站

8
我使用VisualStudio构建了一个C#-MVC3网站,运行良好。
我需要在另一台电脑上安装该网站以进行检查。该电脑有IIS7。
我尝试进行安装(这是我第一次...我不太了解IIS),当我浏览网站(localhost/mySite)时,我可以看到所有目录(控制器,视图...),但我无法看到网站本身。
我可以看到特定的文件(如localhost/mySite/Content/img.jpg),但我无法查看具有控制器的网站(localhost/mySite或localhost/mySite/Home)。
怎么办?
4个回答

16

首先,安装ASP MVC,然后根据您的架构运行以下其中之一:

32位(x86)Windows

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir

64位(x64)Windows

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

此外,更多信息请参阅此主题: ASP.NET MVC on IIS 7.5

在执行这些步骤之后,您还可能需要重新创建您的应用程序/站点。


1
谢谢!我去了C:\Windows\Microsoft.NET\Framework64\v4.0.30319并运行了aspnet_regiis -i,然后运行了iisreset。 - TamarG
如果这对你不起作用,请尝试不要复制“-ir”,而是自己输入。我不知道为什么,可能是因为我使用的是中文版Windows。当我粘贴“-ir”时,在cmd窗口中显示一些类似但不正确的字符。 - Mystic Lin

4

对@mikus的回答进行了扩展 (2017年2月)

我在本地机器上遇到了与上述相同的问题,我的ASP.NET MVC 4.5项目显示IIS 403错误。

可能有用的修复方法:

1). 在命令提示符窗口中按照mikus的答案操作(我使用的是x64版本)。我收到了一个包含有用链接的 '不支持' 消息:

"...此选项不支持此操作系统版本,管理员应使用“打开/关闭Windows功能”对话框、服务器管理器管理工具或dism.exe命令行工具安装/卸载带有IIS8的ASP.NET 4.5。更多详情请参见http://go.microsoft.com/fwlink/?LinkID=216771..."

2). 使用Microsoft帮助页面上给出的逐步说明:http://go.microsoft.com/fwlink/?LinkID=216771. 我只需要执行步骤7和8,我已经详细说明如下:

- Open 'Turn Windows features on or off' [Windows key then type 'Turn Windows features on or off' and open]
- Scroll down the list and expand 'Internet Information Services'
- Within that expand 'World Wide Web Services'
- Within that expand 'Application Development Features'
- Make sure 'ASP.NET 4.6' (or 3.5 if you require that) is ticked - mine was not.
- Save and close.

3). 现在您的IIS站点应该如预期地工作 - 对我而言确实如此。再次在浏览器中访问该站点以进行测试。


2

MVC3是否已安装?将MVC网站发布到其他计算机时,这是最常见的原因。


好的,我现在从这里安装 - http://www.microsoft.com/en-us/download/details.aspx?id=4211 但我仍然看不到网站..(请注意,另一台计算机上我们没有VisualStudio) - TamarG

0

如果你已经在Global.asax.cs里设置了MVC的默认设置,那么请将你的应用程序池(App Pool)托管管道模式更改为集成模式。

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Home", action = "Index", id = UrlParameter.Optional });
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接