首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >独立开发/部署MVC区域

独立开发/部署MVC区域
EN

Stack Overflow用户
提问于 2012-03-28 08:22:43
回答 1查看 2.3K关注 0票数 5

我们目前有两个MVC web应用程序完全独立运行。其目的是将这两个网站连接到某种具有共享授权等的内联网中,并将某些主页链接到每个网站。

到目前为止,我们已经创建了第三个MVC应用程序,并将现有的两个站点作为MVC区域添加到其中,这很好。我们还设法将每个区域划分为他们自己的Visual项目,在一个单一的解决方案下。

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

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

这并不是什么大问题(假设我们不会意外地部署一个新的、未经测试的主要内部网web应用的发布版本),但这也意味着构建服务器将用相同的版本号标记特定构建的所有程序集。

第二种方法是,主要内联网项目只引用区域项目的集合,而不是项目本身,这样就可以自行建造,而不必再建造每个区域,反之亦然。有两个问题,我看不出MS WebDeploy (构建服务器用来发布我们的代码)只发布某些程序集的方式。其次,单独程序集中的MVC区域似乎需要添加为项目引用,而不仅仅是程序集引用,因为视图不能动态编译(缺少~/ views /web.config?)

有什么更好的方法吗?

编辑:我已经成功地让主web应用程序运行,使用常规的程序集引用区域,而不是项目引用(不完全确定它是如何工作的)。这意味着我现在可以独立于主应用程序构建区域。

下一个问题是使用MSDeploy部署全部内容。区域程序集与/bin目录中的主应用程序一起部署,但不包括该区域的视图/脚本/内容。我正在研究将视图编译到程序集本身的各种技术,但似乎还无法实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2013-06-21 10:09:13

我觉得这是一个非常复杂的方法。我认为,不久之后,共享安全代码的好处似乎没有什么理由证明您将经历这样的痛苦:两个本质上不同的应用程序的代码库像这样交织在一起。

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

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

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

https://stackoverflow.com/questions/9903651

复制
相关文章

相似问题

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