积极答复者
asp.net mvc 通过 route 把参数注册为二级域名的问题

问题
-
这可能是个老问题了,但我之前没有涉及到这一块,最近有个项目有多个area,每个area下都有一个homecontroller,只是命名空间不一样,用传统的路由,不加二级域名的时候,通过namespace可以正确区分是那个area下的操作.为了使用动态二级域名的功能,在博客园上找了一些资料(domainroute类),可使用domainroute的时候,不能正确处理,我分析了一下,注册路由的时候可以使用MapRoute方法,或者使用Routes.add添加,虽然都是添加到了路由的最顶端,但maproute的时候可以正确处理其中一个参数:namespace,而是用 routes.add 时不能.
博客园上的文章:ASP.NET MVC 实现二级域名
这样的问题可以解决吗?或者有没有更好的方法来处理呢!
MVC 深入研究 博客:http://www.cnblogs.com/DoduNet/
MvcMovieStore 示例网站:MVC 影视 http://MvcMovie.cn/
答案
全部回复
-
你好,其实最早开始使用动态二级域名的时候我就是参考的这个。
但是现在有个问题,就是上面我说的:
使用自定义类:domainroute 来完成二级域名动态数据的设置和获取,注册路由的时候必须使用 routes.add 方法来实现,而不能使用maproute静态注册。项目中有多个area,每个area都有单独的namespace,而每个area下都有一个homecontroller,问题是,使用 routes.add 方法注册的路由时,这个时候会提示错误,路由找不到与只对应的homecontroller,因为项目中存在多个homecontroller;但使用maproute静态注册路由的时候,不存在这个问题。(说明:两种方法中都使用了 namespace 来设置搜索控制器的路径。)
MVC 深入研究 博客:http://www.cnblogs.com/DoduNet/
MvcMovieStore 示例网站:MVC 影视 http://MvcMovie.cn/