2013-01-03 95 views
0

我想设置我的网站上的IIS 7,到目前为止,我已经做了以下内容:Visual Studio 2010中 - 使用本地IIS Web服务器

  • 安装IIS7和所有的主要组件。
  • 在iis中,我创建了一个新网站。
  • 通过visual studio我创建了一个新的虚拟目录。

Virtual directory with files

virtual directory in visual studio

我已经启用了目录浏览,因为我的问题是我不知道如何路由工作与IIS。在Visual Studio开发服务器中,它将转到默认页面,而不必指定特定的路径。

我唯一的理论是改变我的Global.asax文件,但我还是我不知道该怎么办,

Directory

404

Visual studio development server works!

全球ASAX

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.Web.Routing; 

namespace UserManager 
{ 
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801 

    public class MvcApplication : System.Web.HttpApplication 
    { 
     public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
     { 
      filters.Add(new HandleErrorAttribute()); 
     } 

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

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

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

      ///* User Manager routing */ 
      //routes.MapRoute(
      // "UserManager", // Route name 
      // "{controller}/{action}/{id}", // URL with parameters 
      // new { Controller = "UserManager", action = "Index", id = UrlParameter.Optional } 
      // ); 

      routes.MapRoute(
       "UserManagerCreateUser", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { Controller = "UserManager", action = "CreateUser", id = UrlParameter.Optional } 
       ); 

      routes.MapRoute(
       "UserManagerLookUpGroupName", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { Controller = "UserManager", action = "LookUpGroupName", id = UrlParameter.Optional } 
       ); 

      routes.MapRoute(
       "UserManagershowError", // Route name 
       "UserManager/showError/sErrorMessage", // URL with parameters 
       new { Controller = "UserManager", action = "showError", UrlParameter.Optional} 
       ); 

      /* User Status routing */ 
      routes.MapRoute(
       "UserStatus", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { Controller = "UserStatus", action = "Index", id = UrlParameter.Optional } 
       ); 

      /* Email Distribution list routing */ 
      routes.MapRoute(
       "EmailDistributionList", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { Controller = "EmailDistributionList", action = "Index", id = UrlParameter.Optional } 
       ); 

      /* Email User Details routing */ 
      routes.MapRoute(
       "EmailUserDetails", // Route name 
       "{controller}/{action}/{id}", // URL with parameters 
       new { Controller = "EmailUserDetails", action = "Index", id = UrlParameter.Optional } 
       ); 
     } 

     protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 
      RegisterGlobalFilters(GlobalFilters.Filters); 
      RegisterRoutes(RouteTable.Routes); 
     } 
    } 
} 

摘要

尝试建立IIS7上的MVC 3内部网站上。不知道路由请求是否是错误的,因为它找不到页面。截图显示在Visual Studio开发服务器中如何工作。

回答

1

您不想启用目录浏览。

尝试在IIS中添加新网站而不是虚拟目录。当您创建它时,将端口分配为9000,然后您可以访问您的站点http://localhost:9000/

接下来,单击应用程序池。右键单击新网站并转到基本设置。确保.NET框架的版本不是v4,管理的管道模式是Integrated not Classic。

此外,在转换到IIS之前,请确保该网站与Visual Studio Development Server正确运行。

+0

@BreetAllred我对你有什么建议。而不是本地主机它是我的网络IP。我通过应用程序池将该网站更改为.net 4.0。它最初说我的网站是Test的同名。它在开发服务器模式下的visual studio中也可以正常工作。现在错误是:HTTP错误403.14 - 禁止 Web服务器被配置为不列出此目录的内容。此外,该网站的物理路径是我的文档项目所在的位置。 –

+0

现在可能是一个权限问题。尝试通过Windows资源管理器向该文件夹授予IIS_IUSRS权限。在Windows资源管理器 - >属性 - >安全选项卡 - >添加上右键单击文件夹,然后输入IIS_IUSRS,然后添加它们。根据你在做什么,它可能只需要读取权限。 –

0

不应该有你的网站实际上是用框架4.0 检查托管管道设置为与你的路由任何问题, 检查集成 ,如果你部署服务器比你的开发服务器不同,那么要确保mvc 3.0安装在您的部署服务器中

+0

如何确保mvc 3.0安装在服务器上? IIS也在我的工作机器上。 –

相关问题