各种网站/应用程序 - 改变架构

时间:2012-09-07 11:07:53

标签: asp.net asp.net-mvc computer-architecture

我在专用的Web服务器上运行了许多网站和基于Web的应用程序。同一个框当前也运行数据库(这不太可能改变。)

我注意到我在不同项目中遇到的要求经常互相重复。所以,虽然我很安静,但我正在尝试重新设计各个站点的架构。

理想情况下,我想将重复的功能(登录,一些用户报告,错误报告等)提取到核心库中,这让我思考。

如果我制作核心程序集,请将其添加到每个网站的bin中,然后它将与app config文件中的任何数据库进行通信。但是,当事情发生变化时,这会给我带来版本控制/维护问题。

我可以将此核心librar放在GAC中,这意味着我需要对其进行注册/取消注册,但所有应用都可以根据需要加入并使用它。

或者我可以看到的第三种方法是使用WCF Web服务并在我的aps中添加另一个内部层,在那里他们将核心工作交给单独的一组web服务。这样做的好处是,当我们扩展时,所有接口都可以作为一组web服务保留,让我的应用程序只进行http或tcp调用,而不是我不得不担心移动bin文件或gac'ed程序集。

基本上我在这里看看是否有人对这两种方法都有任何想法/评论/批评,因为我讨厌开始走一条路,然后不得不重新做其他事情,因为墨菲法律规定它只要我们有一项重要工作进入就会出错:)

1 个答案:

答案 0 :(得分:0)

我建议您根据需要使用库作为参考(因此它位于应用程序的bin中)。

如果您需要稍微更改某个报告,该怎么办?进行更改后,您是否计划对所有现有应用程序进行回归测试? 保留dll的不同副本允许您在必要时进行升级 确保您可以找出哪个应用正在运行哪个版本的dll。

从维护的角度来看,你并不总是想改变有效的方法 “什么可能出错,会出错”,所以限制它可能出错的区域。