我正在实施对现有Web应用程序的增强(A)。新的解决方案将为应用程序A提供功能(图表/图像/数据)。新的增强功能将是一个新项目,并将生成新的程序集。我试图找出最优雅的方式来阅读这些信息。 1)做二进制引用并直接读取数据。新的程序集与您的应用程序一起存在并且结合在一起 2)编写WCF调用并获取数据。这将有助于解耦应用程序。
新的申请将涉及我购买一些昂贵的许可证。因此,如果我使用第二个选项,我可以将许可证费用限制在单个服务器上或最多2-3个。我目前的应用程序在8个服务器的webfarm下运行。
请分享两种方法的优点/缺点。
感谢。
答案 0 :(得分:1)
如果您充分分离这两个部分,您还将允许使用运行.NET之外的其他客户端。使用第一个选项,您只能支持.NET客户端。这可能会变得很重要,即使今天您绝对肯定只会使用.NET - 明天,您的公司可能会被另一家Java或PHP商店购买。
即使您永远不需要支持非.NET客户端,耦合到程序集也需要您维护客户端和服务器之间的版本兼容性。如果没有必要,请使用选项#2。
答案 1 :(得分:1)
使用WCF(解耦方法)的好处是,如果在处理或存储方面对机器造成太大影响,您将获得部署选项以将其带到机器外部。
缺点是,与直接链接相比,您可能会获得一些性能损失。
我确信您可以进行一些动态链接,因此您无需部署到所有8台服务器。