1

我有一个相当大的 ASP 站点,它专门使用 VBScript(没有 COM 组件)在 64 位 Windows Server 2003 的 IIS 上的 32 位空间中运行。您可以在此处看到架构的粗略草图:

编程架构概述

我想开始将它迁移到 ASP.NET,但我的迫切需要是在一个可以开始使用它的地方访问数据库)。

我的想法是创建 C# .dll,然后通过互操作从 ASP 代码调用它们,并且在我迁移时,我将完成数据部分。

Interop 的性能有何影响?我最多可能有大约 200 人在几个小时的时间内点击应用程序提交数据库。当前设置没有容量或性能问题。

我在同一个子网上有一个 SQL Server (2005) 盒子,我从这个盒子连接到它;它也是 64 位 Windows Server 2003。

这是一个可行的策略吗?考虑到我的架构,有没有更好的方法来解决这个问题?

现在的一个大问题是 ASP 应用程序使用了数百个存储过程;我继承了它,开发是在重叠部分中完成的,例如,对用户的简单操作可能会在不同页面上使用不同的过程来完成。一个重要目标是集中对组件的数据访问,并抽象出数据库中的实现。因此,如果我添加或更改一个字段,ASP 应用程序将不必知道它的名称;它只会通过对象上的相同属性进行访问。

4

1 回答 1

2

我采取了一条非常相似的路线,将一个非常大的计费应用程序从 VB6 迁移到 C#。这是一个完全可行和合理的方法。

我将专注于首先将 UI 中的业务逻辑和数据访问迁移到适当的类中,然后开始将 UI 的某些部分从经典 ASP 迁移到 ASP.Net。

在一两个小时内有 200 人,您不会注意到互操作开销。

尤其是考虑到您必须处理使用多个代码变体直接访问数据库的 UI,可能值得花一些时间为现有代码进行自动化测试。确保为您编写的新代码遵循测试驱动的方法。如果您没有在自动化测试上投入大量资金,那么当您分阶段重新构建应用程序时,您就有可能以难以检测的方式破坏应用程序。

于 2012-07-20T15:21:05.647 回答