1

我支持安装在 Web 服务器上的 ASP.NET 应用程序和安装在不同应用程序服务器上的 VB6 应用程序。VB6 应用程序和 ASP.NET 应用程序中存在代码重复。我想在 VB6 的 ASP.NET 应用程序中使用一些代码。我相信我有三个选择:

  1. 在 ASP.NET Web 服务中公开所需的功能。VB6 应用程序将使用 Web 服务。
  2. 在 .NET 中重写一小部分 vb6 应用程序并扩展 asp.net 应用程序。这将消除一些代码重复。
  3. 为 ASP.NET 应用程序设置一个类库。在 Web 服务器上安装 vb6 应用程序。在类型库中从类库中公开所需的功能。

哪个选项最好?我相信选项2是最好的。

4

2 回答 2

0

选项 1。这会将您共享的、已经测试过的代码留在最现代的平台上。

于 2012-09-20T18:43:31.703 回答
0

这很难回答,因为它因每家公司和每种情况而异。

作为一般规则,我非常赞成在可能的情况下使用 Web 服务,特别是如果多个应用程序出于以下原因使用相同的逻辑时:

  • 如果我必须更改逻辑,我可以在一个地方完成并修复所有依赖它的应用程序
  • 对于数据库连接字符串等也可以这样说。
  • 错误修复通常也可以在一个地方修复。
    • 我在处理需要处理的特定数据库时遇到了困难,供应商的更新往往会破坏他们的 .NET 适配器。我不得不两次修改/重新编译大量应用程序来解决这个问题。从那时起,我们将仅通过 Web 服务连接到该数据库作为一项政策,因此我将来只需要更新一个应用程序。
  • 在开发移动应用程序时,我们已经在 Web 服务中拥有了所有代码这一简单事实使得编写严格的 UI 应用程序并将业务/数据库访问逻辑保留在现有 Web 服务中变得更加容易。

所有这些都是 SOA 方法的“标准”论据。

考虑到所有因素,我的第一个建议是,不知道您的具体情况将是选项#1。

还有第四个选项 - 完全重写 VB6 应用程序,如果可行,并且您可以说服那些控制预算和时间分配的人。即使这样,您也可以使用面向服务的架构并将大部分逻辑拆分为 Web 服务。

于 2012-09-20T21:02:50.847 回答