【发布时间】:2014-06-26 14:28:19
【问题描述】:
我正在寻找创建一个新的 MVC 网站,我试图解决的关键问题之一是在公共区域(面向 Web)和内部区域之间共享代码。
基本上,我们有两个应用程序,一个是用户访问的公共网站,另一个将在我们公司内部用于查看一些在公共网站上也可见的相同信息。
我希望将它们保留为两个独立的站点(项目),因为我们有不同的团队负责每个站点,并且因为我们希望使用不同的身份验证格式(用于公众的表单,用于内部的 Windows)。
但是,我们还希望能够在两个站点之间共享一些代码(视图、控制器)。我们如何设置这两个 MVC 站点,以便一个 MVC 站点可以引用另一个项目中的视图和/或控制器?
例如,我们将有一个视图,使内部用户能够查看我们公共网站用户的交易历史。如果我们在内部站点中创建了该控制器/视图,然后我们想在公共站点中添加该控制器/视图,我们如何在公共站点上重复使用相同的视图?
【问题讨论】:
-
您可以将您的控制器和视图封装在一个程序集中,然后像任何库一样共享它。您还可以将核心逻辑放入库中,然后将控制器包装在其中。
-
MVC的路由配置知道如何处理吗?
-
路由并不特定于 MVC。路由实际上将请求交给 mvc,这就是启动 mvc 进程的原因。
-
如果您尝试将控制器类放入共享程序集中,我认为您需要对路由进行一些配置来告诉它要查看哪个命名空间。
-
无论如何,您都需要为您的路线进行一些配置。
标签: asp.net asp.net-mvc