我有许多网站和基于 Web 的应用程序在专用 Web 服务器上运行。同一个盒子目前也运行数据库(这不太可能改变。)
我注意到我在不同项目中遇到的需求经常相互重复。所以,虽然我很安静,但我正在尝试重新规划各个站点的架构。
理想情况下,我想将重复的功能(登录、一些用户报告、错误报告等)提取到一个核心库中,这让我开始思考。
如果我制作了一个核心程序集,并将其添加到每个网站的 bin 中,那么它将与应用程序配置文件中的任何数据库进行通信。但是当事情发生变化时,这让我对版本控制/维护感到头疼。
我可以将这个核心库放在 GAC 中,这意味着我需要注册/取消注册它,但所有应用程序都可以根据需要包含和使用它。
或者我可以看到的第三种方法是使用 WCF Web 服务并向我的应用程序添加另一个内部层,在那里他们将核心工作移交给一组单独的 Web 服务。这样做的好处是,如果/当我们扩展时,所有接口都可以保留为一组 web 服务,让我的应用程序只进行 http 或 tcp 调用,而不必担心移动 bin 文件或 gac'ed 程序集。
基本上我在这里看看是否有人对这两种方法有任何想法/评论/批评,因为我不想开始走一条路然后不得不重新走另一条路,因为墨菲法规定它会出错就像我们有一项重要工作一样:)