我有一个大型 vb6/sql 数据库应用程序(数百个表、类和表单),我想迁移到 c#,同时具有 web、phonegap 和 winform 客户端。我想要集中很多数据库和业务逻辑,并且由于我更喜欢 ASP.Net MVC 作为我的 Web UI 平台,因此我正在考虑以下内容:
MVC Web 项目包括:
- Web UI 的 MVC Web 控制器和视图
- MVC 控制器将 JSON 对象提供给 phonegap 应用程序和富 html 页面
- 为 MVC 控制器提供 BLL 服务的服务类
- DAL 类提供持久性和 POCO 对象以供服务/BLL 类使用
- 将服务类公开给 Winform 应用程序的 Web 服务。他们会接受并返回 POCO 对象
Winform 应用程序的所有数据都将严重依赖 Web 服务。由于我有数百个数据库表,因此 Web 服务会将这些数据作为 POCO 对象(一些嵌套,一些 POCO 对象列表)返回给客户端。我担心 1)WSDL 会很大,并且随着应用程序的增长和暴露的类数量的增长,它会变得不守规矩(VS 会窒息吗?),2)通过 web 服务返回 POCO 对象可能表现不佳. 我习惯于直接从我的 winform UI 调用 SQL 服务器,因此通过 web 服务的前景似乎可能成为瓶颈,因为一切都被序列化并通过 IIS。
顺便说一句,我知道服务层在逻辑上与 MVC UI 层是分开的,但我将它们结合起来以简化部署。如果它解决了任何问题,我也会考虑 WCF,但据我所知,它增加了不必要的复杂性。
这些是有效的担忧吗?你还有什么建议吗?