缺点:
与项目中的普通 CLR(又名 dll)层相比, Web 服务往往会从您的服务器消耗更多资源。无论您打算使用什么 Web 服务(旧版 Web 服务、服务堆栈、wcf、Web API 等),您都会发现它们都必须使用一个流程来序列化数据,并且您可能需要这种情况在您的前端应用程序中执行相反的过程。
您必须非常仔细地设计您的 ws,因为您必须考虑如何公开这些服务以及您必须实施的封装/抽象级别,Web 服务层中的糟糕设计肯定会令人头疼在开发和生产期间为您服务。
安全性:在大多数情况下,您还必须验证这些 Web 服务中的每个输入
优势
与优势非常相关,它更多地取决于您的应用程序要求,您需要回答的一些问题如下:
- 我是否需要与其他应用程序(移动、桌面、其他网络应用程序)共享数据?
- 我是否需要向其他企业(第三方)公开某些功能?
推荐
如果你打算做一个 CRUD 应用程序,我会推荐使用 REST,因为它的架构(POST、DELETE、GET、ETC),它绝对是最好的选择。
如果您现在不需要 Web 服务,您可以尝试开发您的服务层,类似于服务堆栈中的服务实现,但尽量保持 POCO,如果由于某种原因您需要 Web 服务您可以尝试反射服务层,以便在中间有另一个级别的间接性。
只是我的两分钱...