我有一些网站和基于web的应用程序在一个专用的web服务器上运行。同样的机器目前也运行数据库(这一点不太可能改变)。
我已经注意到,我在不同项目中遇到的需求经常彼此重复。所以,虽然我很安静,但我正在尝试重新规划不同网站的架构。
理想情况下,我希望将重复的功能(登录、一些用户报告、错误报告等)提取到一个核心库中,这让我开始思考。
如果我制作一个核心程序集,并将其添加到每个网站的bin中,那么它将与应用程序配置文件中的任何数据库进行通信。但当事情发生变化时,这会让我在版本控制/维护方面感到头疼。
我可以将这个核心librar放在GAC中,这意味着我需要注册/注销它,但所有应用程序都可以根据需要添加和使用它。
或者我能看到的第三种方式是使用WCF webservices,并在我的aps中添加另一个内部层,在那里他们将核心工作交给一组独立的Webservices。这样做的好处是,如果/当我们扩展时,所有接口都可以作为一组we服务保留下来,让我的应用程序只进行http或tcp调用,而不必担心移动bin文件或gac程序集。
基本上,我在这里看看是否有人对这两种方法有任何想法/评论/批评,因为我不喜欢开始走一条路,然后不得不从另一条路重新做,正如murphys定律所说的那样,它将会出错,因为我们有一项主要的工作:)
发布于 2012-09-07 19:20:29
我建议您在需要时使用该库作为参考(因此它驻留在应用程序的bin中)。
如果您需要对您的某个报告稍作更改,该怎么办?进行更改后,您是否计划在所有现有应用程序上进行回归测试?
保留dll的不同副本允许您在必要时对其进行升级。
确保您可以找出哪个应用程序正在运行哪个版本的dll。
从维护的角度来看,您并不总是想要更改工作方式。
“什么可能出错,就会出错”,所以限制它可能出错的区域。
https://stackoverflow.com/questions/12316895
复制相似问题