asp.net core mvc中如何把二级域名绑定到特定的控制器上
2017-06-22 07:30
411 查看
由于公司的工作安排,一直在研究其他技术,所以一直没时间更新博客,今天终于可以停下手头的事情,写一些新内容了。
应用场景:企业门户网站会根据内容不同,设置不同的板块,如新浪有体育,娱乐频道,等等。有的情况下需要给不同的板块设置不同的二级域名,如新浪体育sports.sina.com.cn。
在asp.net core mvc中,如果要实现板块的效果,可能会给不同的板块建立不同的控制器(当然也有其他的技术,这里不讨论实现方式的好坏),在这种情况下,如何给控制器绑定上独有的二级域名,比如体育频道对应的控制器叫SportController,通过sports.XXX.com域名访问系统的时候,直接进入SportController,并且通过这个二级域名无法访问其他的控制器。
上面说完场景了,下面来看下如何实现。
在asp.net core mvc中有路由规则配置,配置的地方在Startup.Configure方法中,具体代码如下:
遗憾的是不支持对域名的支持(我目前了解的是,如果有问题,欢迎大家指正)。通过routes.MapRouter注册路由规则,并加入到RouteCollection中,当某个请求过来后,RouterCollection循环所有注册好的IRouter对象,找到第一个匹配的IRouter为止。虽然框架不支持域名配置规则,但是我们可以自己去实现一个IRouter,在里面实现二级域名判断的逻辑,我这里暂时起名为SubDomainRouter,具体实现代码如下:
从上面的代码我们只看到了域名检测,但是如何把域名定向到特定的控制器上,这就需要我们在注册这个IRouter的时候做些文章,直接上代码:
最后我们就可以在Startup中注册对应的规则,如下:
实现方法可能不是最好的,但是已经满足了基本需求,如果大家有更好的方法,欢迎讨论交流。
原文地址:http://www.cnblogs.com/dxp909/p/6994354.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
应用场景:企业门户网站会根据内容不同,设置不同的板块,如新浪有体育,娱乐频道,等等。有的情况下需要给不同的板块设置不同的二级域名,如新浪体育sports.sina.com.cn。
在asp.net core mvc中,如果要实现板块的效果,可能会给不同的板块建立不同的控制器(当然也有其他的技术,这里不讨论实现方式的好坏),在这种情况下,如何给控制器绑定上独有的二级域名,比如体育频道对应的控制器叫SportController,通过sports.XXX.com域名访问系统的时候,直接进入SportController,并且通过这个二级域名无法访问其他的控制器。
上面说完场景了,下面来看下如何实现。
在asp.net core mvc中有路由规则配置,配置的地方在Startup.Configure方法中,具体代码如下:
原文地址:http://www.cnblogs.com/dxp909/p/6994354.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注
相关文章推荐
- asp.net core mvc中如何把二级域名绑定到特定的控制器上
- Asp.net Core MVC中怎么把二级域名绑定到特定的控制器上
- 如何应用Asp.Net Mvc内建功能(DefaultModelBinder)实现简单类型、复杂类型、集合类型,以及字典类型的自动绑定
- 说明ASP.NET MVC Http请求是如何到达控制器操作的!!!
- ASP.NET Core 中文文档 第四章 MVC(4.5)测试控制器逻辑
- ASP.NET Core MVC四种枚举绑定方式
- ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
- ASP.NET Core MVC/WebAPi 模型绑定
- Asp.net MVC中如何获取控制器的名称
- ASP.NET Core 中文文档 第四章 MVC(4.2)控制器操作的路由
- ASP.NET Core MVC/WebAPi 模型绑定探索
- ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
- ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
- ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
- ASP.NET Core 中文文档 第四章 MVC(2.1)模型绑定
- ASP.NET Core 中文文档 第四章 MVC(4.4)依赖注入和控制器
- ASP.NET MVC 4源码分析之如何定位控制器
- asp.net Repeater如何按照特定字段绑定特定的内容
- ASP.NET Core MVC四种枚举绑定方式
- ASP.NET Core MVC四种枚举绑定方式