0

我正在尝试在 iis 7 上设置我的网站,到目前为止,我已经完成了以下操作:

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

包含文件的虚拟目录

Visual Studio 中的虚拟目录

我启用了目录浏览,因为我的问题是我不确定路由如何与 iis 一起工作。在 Visual Studio 开发服务器中,它无需指定特定路径即可转到默认页面。

我唯一的理论是更改我的 global.asax 文件,但我仍然不确定该怎么做,

目录

404

Visual Studio 开发服务器有效!

全球阿萨克斯

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 Intranet 站点。不知道路由请求是否错误,因为它找不到页面。屏幕截图在 Visual Studio 开发服务器中显示它是如何工作的。

4

2 回答 2

1

您不想启用目录浏览。

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

接下来,单击应用程序池。右键单击新站点并转到基本设置。确保 .NET 框架的版本是 V4 而不是 v2,并且托管管道模式是集成而不是经典。

此外,在过渡到 IIS 之前,请确保该站点与 Visual Studio 开发服务器一起正常运行。

于 2013-01-03T14:56:31.083 回答
0

您的路由应该没有任何问题,检查您的站点是否实际使用框架 4.0 检查托管管道是否设置为集成,如果您的部署服务器与开发服务器不同,请确保在您的部署中安装了 mvc 3.0服务器

于 2013-01-03T14:48:59.293 回答