在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例常用C#方法 → asp.net 实现 动态二级域名绑定 mvc方式实现 已亲测通过

asp.net 实现 动态二级域名绑定 mvc方式实现 已亲测通过

常用C#方法

下载此实例
  • 开发语言:C#
  • 实例大小:0.89M
  • 下载次数:13
  • 浏览次数:629
  • 发布时间:2013-06-17
  • 实例类别:常用C#方法
  • 发 布 人:crazycode
  • 所需积分:2
 相关标签: 二级域名 MVC

实例介绍

【实例简介】

利用 mvc中area实现 动态二级域名 

实现效果:   http://{area}.example.com  
 【实例截图】


 【核心代码】

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

namespace HB.MultiSite
{
    // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
    // 请访问 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.Add("DomainRouteForManage", new DomainRoute(
                "manage.8fdc.com",                             // 固定的二级域名
                "{controller}/{action}/{id}",                  // URL with parameters
                new
                {
                    area = "Manage",
                    controller = "Home",
                    action = "Index",
                    id = "",
                    Namespaces = new string[] { "HB.Controllers.Manage" }
                }  // Parameter defaults
            ));

            routes.Add("DomainRouteForMutiWebSite", new DomainRoute(
                "{area}.8fdc.com",                             // {area}作为二级域名
                "{controller}/{action}/{id}",                  // URL with parameters
                new
                {
                    area = "cs",
                    controller = "Home",
                    action = "Index",
                    id = "",
                    Namespaces = new string[] { "HB.Controllers.WebSite" }
                }  // Parameter defaults
            ));

            routes.MapRoute(
                "Default", // 路由名称
                "{area}/{controller}/{action}/{id}", // 带有参数的 URL
                new
                {
                    area = "cs",
                    //controller = @"[a-z]{4,}", //controller必须为英文字符,最少长度为4 
                    //action = @"[a-z]{4,}", //action必须为英文字符,最少长度为4
                    controller = "Home",
                    action = "Index",
                    id = UrlParameter.Optional
                },
                null,
                new string[] { "HB.Controllers.WebSite" } // 参数默认值
              );

            //routes.MapRoute(
            //    "Default", // 路由名称
            //    "{controller}/{action}/{id}", // 带有参数的 URL
            //    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
            //);

        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);

            //RouteDebug.RouteDebugger.RewriteRoutesForTesting(RouteTable.Routes);  //查看路由信息
        }
    }
}

标签: 二级域名 MVC

实例下载地址

asp.net 实现 动态二级域名绑定 mvc方式实现 已亲测通过

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警