首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用设置选择Webforms url或MVC路由

问使用设置选择Webforms url或MVC路由
EN

Stack Overflow用户
提问于 2016-06-05 14:39:47
回答 1查看 106关注 0票数 3

我正在开发一个大型的SAAS Webforms应用程序,它将慢慢迁移到MVC5。我们希望能够让一些客户“选择加入”新的MVC页面,因为它们是基于可配置的设置进行部署的。

MVC应用程序将与webforms应用程序位于同一项目中。到MVC的转换将逐个功能地进行,基本上是创建一个完整的MVC应用程序,与webforms应用程序并列。一旦实现了所有功能并且客户已经转换,我们将删除webforms项目,只保留MVC项目。

如果客户“选择加入”,那么我们希望他们查看任何存在的MVC视图,而不是原始的aspx页面。如果一个aspx页面还没有转换成MVC,或者他们的客户还没有选择加入,那么我们希望他们能看到这个aspx页面。

我主要关心的是防止用户在应该查看MVC页面时手动输入url并转到aspx页面,反之亦然。由于此应用程序是一个多租户系统,因此不能仅在路由配置中进行设置,因为这些配置仅在整个应用程序启动时加载一次。任何解决方案都需要动态检查每个用户的opt-in设置。

如果新的MVC路由而不是传统的aspx页面都存在,那么哪里是遵守“opt-in”设置的最佳位置,什么是实现这一逻辑的最佳方式?

一些同事提到,可以使用HTTPModule来检查aspx页面到MVC路由映射的集合。

基本上:如果optInToMvcSetting ==为真&& url.contains(".aspx"),则重定向到在aspxToRouteMap中找到的相应路由。

如果optInToMvcSettings ==为false && !url.contains(".aspx"),则重定向到在aspxToRouteMap中找到的相应aspx页面。

有人有什么想法或建议吗?

EN

回答 1

Stack Overflow用户

发布于 2016-06-05 15:48:01

为什么不同时使用两者呢?

保留MVC页面不变,然后在功能转换时添加WebForms路由。

然后,您可以简单地维护两个独立的导航渲染,一个用于WebForms,另一个用于MVC。默认情况下,show MVC,但如果用户选择,则show WebForms。浏览器cookie就足以提供此功能。

MVC导航最初将包括aspx链接,但随着转换的进行,这些链接将被替换为其MVC对应物。

MVC路由足够智能,可以区分MVC路由或aspx页面。

This question包含针对您的问题的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37639187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档