ASP.Net MVC 的前端版本控制
Front End Versioning the ASP.Net MVC
我们在 ASP.NET MVC 上有一个企业应用程序 运行ning。我们最近开始改进整个 UI 应用程序。现在,当我说 UI 时,它并不简单 CSS 我可以放在一个单独的文件夹中并动态加载。基本上,完整的导航结构、布局元素,现在一切都在改造中。然而,整体代码(控制器、模型)几乎保持不变,只是在各处进行了一些小的改进。现在,我们应该推出改进后的 UI,但同时也同时支持旧版 UI。
objective 是 运行 新的 UI 就像 appURL/v2/
其余的视图 url 保持不变。
现在,我们的 objective 是我们不应该将控制器、模型复制到另一个项目中。
那么,根据 URL 中版本的 /v2/
标识符在应用程序中全局提供不同视图的最佳方法是什么?
使用区域,您可以使用相同的控制器为不同的视图提供服务。因此,您创建了一个具有自己视图的 "v2" 区域,并将请求相应地路由到 "v2":
routes.MapRoute(
"v2_default",
"v2/{controller}/{action}/{id}",
new { area = "v2", controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "YourNamespace.Controllers" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { area = "", controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "YourNamespace.Controllers" }
);
使用此构造,两条路由都将在同一命名空间中查找控制器。
我们在 ASP.NET MVC 上有一个企业应用程序 运行ning。我们最近开始改进整个 UI 应用程序。现在,当我说 UI 时,它并不简单 CSS 我可以放在一个单独的文件夹中并动态加载。基本上,完整的导航结构、布局元素,现在一切都在改造中。然而,整体代码(控制器、模型)几乎保持不变,只是在各处进行了一些小的改进。现在,我们应该推出改进后的 UI,但同时也同时支持旧版 UI。
objective 是 运行 新的 UI 就像 appURL/v2/
其余的视图 url 保持不变。
现在,我们的 objective 是我们不应该将控制器、模型复制到另一个项目中。
那么,根据 URL 中版本的 /v2/
标识符在应用程序中全局提供不同视图的最佳方法是什么?
使用区域,您可以使用相同的控制器为不同的视图提供服务。因此,您创建了一个具有自己视图的 "v2" 区域,并将请求相应地路由到 "v2":
routes.MapRoute(
"v2_default",
"v2/{controller}/{action}/{id}",
new { area = "v2", controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "YourNamespace.Controllers" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { area = "", controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: new string[] { "YourNamespace.Controllers" }
);
使用此构造,两条路由都将在同一命名空间中查找控制器。