【问题标题】:Various Websites / Appilcations - Changing the architecture [closed]各种网站/应用程序 - 改变架构[关闭]
【发布时间】:2012-09-07 11:07:53
【问题描述】:

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

我注意到我在不同项目中遇到的需求经常相互重复。因此,虽然我很安静,但我正在尝试重新规划各个站点的架构。

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

如果我制作了一个核心程序集,并将其添加到每个网站的 bin 中,那么它将与应用程序配置文件中的任何数据库进行通信。但是当事情发生变化时,这让我对版本控制/维护感到头疼。

我可以将这个核心库放在 GAC 中,这意味着我需要注册/取消注册它,但所有应用都可以根据需要包含和使用它。

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

基本上,我来这里是想看看是否有人对这两种方法有任何想法/cmets/批评,因为我不想开始走一条路,然后不得不重新走另一条路,就像墨菲定律所说的那样当我们有一项主要工作进入时就会出错:)

【问题讨论】:

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


    【解决方案1】:

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

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

    从维护的角度来看,您并不总是想更改有效的方法。
    “会出错的,就会出错”,所以要限制出错的范围。

    【讨论】:

    • 谢谢,但我想我需要阅读常见问题解答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 2015-03-22
    • 2012-08-10
    相关资源
    最近更新 更多