加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

MVC C#自定义MvcRouteHandler – 如何?

发布时间:2020-12-15 22:55:49 所属栏目:百科 来源:网络整理
导读:有没有人有提供自定义MvcRouteHandler的经验?在我的应用程序中,我想实现像http:// mydomain / en / about或http:// mydomain / de / about这样的全球化模式. 至于持久性,我希望在请求到达后立即读取cookie,如果此cookie中有语言设置则应用它(因此到达http
有没有人有提供自定义MvcRouteHandler的经验?在我的应用程序中,我想实现像http:// mydomain / en / about或http:// mydomain / de / about这样的全球化模式.

至于持久性,我希望在请求到达后立即读取cookie,如果此cookie中有语言设置则应用它(因此到达http:// mydomain /的用户将被转移到http:/ / mydomain / en /例如).如果没有cookie,我想获得浏览器支持的第一种语言,应用此语言并将其存储在此cookie中.

我想这不能用mvc在其初始项目模板中提供的标准路由机制来完成.在新闻组中,我得到了一个提示,看看MvcRouteHandler并实现我自己的.但很难找到如何做到这一点的样本.

有任何想法吗?

解决方法

我不相信你正在做的事情需要自定义路由处理程序.

对于“全球化”URI,常规MVC路由具有“locale”参数必须等于“en”,“de”等的约束.约束将阻止非全球化URI匹配路由.

对于“非全局化”URI,创建一个“全包”路由,它只是重定向到默认或cookie设置的语言环境URI.

将“全局化”路由放在Global.asax中的“catch-all”路由之上,以便“已经全球化”的URI不会落入重定向.

如果您希望某个URI模式触发某个不是控制器上的操作的内容,则需要创建一个新的路由处理程序.但我不认为这就是你要处理的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读