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

asp.net-mvc – 独立开发/部署MVC区域

发布时间:2020-12-16 07:39:46 所属栏目:asp.Net 来源:网络整理
导读:我们目前有2个MVC Web应用程序完全独立运行.目的是将这两个站点绑定在某种内联网上,共享授权等,并将某些主页链接到每个站点. 到目前为止,我们已经创建了第三个MVC应用程序,并将两个现有站点作为MVC区域添加到此,这非常有效.我们还设法在单个解决方案下将每个
我们目前有2个MVC Web应用程序完全独立运行.目的是将这两个站点绑定在某种内联网上,共享授权等,并将某些主页链接到每个站点.

到目前为止,我们已经创建了第三个MVC应用程序,并将两个现有站点作为MVC区域添加到此,这非常有效.我们还设法在单个解决方案下将每个区域分成他们自己的Visual Studio项目.

这两个领域中的每一个都由完全不同的业务部门进行规划,并且(通常)由不同的开发人员开发,并且需要遵循独立的发布周期.

当前的方法是将每个区域放在单独的存储库路径中,并使构建服务器签出每个区域的适当分支,构建主Web应用程序(Intranet主页事物),然后构建引用的区域项目.这个问题是我们必须每次都要部署所有3个项目,即使只有一个区域需要发布.

这不是一个大问题(假设我们不会意外地部署一个新的,未经测试的主内部网Web应用程序与该区域一起发布),但这也意味着构建服务器将使用相同的方式标记特定构建的所有程序集版本号.

第二种方法是主要内联网项目仅参考区域项目的组件而不是项目本身,因此它可以自己构建而无需再次构建每个区域或反之亦然.对此有两个问题,我无法看到MS WebDeploy(由buildserver用来发布我们的代码)只发布某些程序集的方法.其次,单独程序集中的MVC区域似乎需要添加为项目引用而不仅仅是程序集引用,因为视图不能正确动态编译(缺少?/ Views / web.config?)

有没有更好的方法呢?

编辑:我已经设法让主要的Web应用程序运行与区域的常规程序集引用而不是项目引用(不完全确定如何,它只是工作).这意味着我现在可以根据需要独立于主应用程序构建区域.

下一个问题是使用MSDeploy部署整个批次.区域程序集与主应用程序一起部署在/ bin目录中,但不包括区域的views / scripts / content.我正在研究将各种视图编译到程序集本身的各种技术,但似乎无法使其工作.

解决方法

让我觉得这是一个非常复杂的方法.我希望不久之后,拥有共享安全代码的好处似乎没有理由让你将两个本质上不同的应用程序的代码库交织在一起这样的痛苦.

更好的方法可能是分离应用程序并为两者开发单个登录组件.如果您希望用户只为这两个应用程序拥有一个帐户,或者它可以使用每个应用程序的数据库(假设它们具有单独的数据库),如果每个应用程序都需要管理它自己的用户帐户,则可以管理自己的数据库.有许多可用的成员资格组件可以为此类功能提供基础(ASP.NET MembershipProvider和Simple Membership,仅举两例).

如果您希望两个应用程序在生产环境中的同一域下运行,只需将它们部署到单独的虚拟目录即可.您最终会得到类似于使用区域的网址方案.

(编辑:李大同)

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

    推荐文章
      热点阅读