c# - 将大型 vb6 应用程序移至 Web 或 winform。你决定!

标签 c# asp.net winforms desktop-application vb6-migration

我正在致力于将大型 vb6 应用程序移植到 .NET。当前的应用程序是一个桌面应用程序,与一组本地访问数据库进行通信。应用程序中有大约200个表格和大约100个表。屏幕大多很复杂。大多数显示主从关系、嵌入式电子表格中的大量行以及动态生成的编辑控件。

他们会将其移植到.NET。我不确定他们是否想要基于网络的或 winforms 的。对我来说,该应用程序似乎更适合 winforms。值得庆幸的是,无论选择如何,access 数据库都将被 sql server 取代。

我使用 winform 的原因:

  • 更丰富的用户界面。
  • 客户端缓存
  • 更快的发展。 Winforms 对我来说非常高效,尽管 ASP.NET 比传统 ASP 的效率高出好几光年。我还是宁愿在 winforms 中工作。
  • 可以显示更多数据,并花更少的时间管理状态。

我计划将业务/数据层分解为一个单独的库。库中的业务对象将能够由 winforms 或 Web 应用程序使用。

我想,如果我们首先移植到 winforms,并将 UI 和业务逻辑完全分离,我以后就可以在 Web 版本中重用业务逻辑。鉴于业务/数据层位于一个独立的库中,没有 UI 依赖项。

最后,这不是我的决定,但我想听听您将大型 Windows 应用程序迁移到 ASP.NET 的经验。

您将大型桌面应用程序迁移到 ASP.NET 的经历如何?您将如何开展这样的项目?您愿意将此应用程序移植到 winforms 还是 asp.net 上?为什么?

谢谢! 史蒂夫

最佳答案

移植到新的 ASP.Net Web 应用程序的一个主要优点是您将有更多的机会来清理它。

当转向winforms时,会存在巨大的诱惑和压力,只是“将其移植到屏幕上”,而如果你转向网络,你将有机会在更基础的层面上进行重构和改进。

我的公司目前正在将相当大的遗留 VB6/Access 应用程序移植到 ASP.Net,并且通过 AJAX(现在是 Silverlight),现在可以在 Web UI 中获得真正高水平的视觉质量和复杂性。从用户访问和部署的角度来看,这也具有明显的优势。

就如何处理该项目而言,我使用迭代方法取得了成功 - 构建一个薄片(实现单个功能)来证明架构,然后根据优先级和复杂性添加功能。

关于c# - 将大型 vb6 应用程序移至 Web 或 winform。你决定!,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/597354/

相关文章:

c# - 如何在 C# 中淡入和淡出面板?

c# - 我怎样才能在 gridview 中获取超链接的值(value)?

c# - 对于 C#,在调用 GetWindowText 等 Win32 函数时使用 'string' 而不是 'StringBuilder' 是否有缺点?

c# - visual studio 提供将 c# 中的表达式主体转换为方法 : IDE0022 的 block 主体

mysql - 不允许通过 IISExpress 连接到 Mysql 服务器

c# - 是否可以覆盖模型中属性的必需属性?

c# - LINQ 表达式 - 相同值不超过两次

asp.net - 错误: SignalRRouteExtension.Mapconnection is obsolete. use MapSignalR in Owin Startup class

c# - 将数据从一种表单传递到另一种表单时出现问题

c# - 参数数量可变的扩展方法