wcf - 大型 WCF 服务的最佳实践?

标签 wcf

编写包含大量操作契约和数据契约的相当大的 wcf 服务的最佳实践是什么?

如何将功能区域分成多个契约(Contract),最好为每个功能区域创建一个端点吗?

有什么方法可以将不同部分的源分开,但仍然只对所有部分使用一项服务?

我从哪里可以获得有关如何规划契约(Contract)、包括哪些内容、如何拆分...的详细信息?

最佳答案

自服务诞生以来,这一直是围绕服务的一个大问题。成功完成的 SOA 就是您所说的 SOA 规划。话虽如此,我始终更倾向于将服务分开,但以组合的方式使用它们。也就是说,当您有多个合约时,有多个端点,但其中大多数仅由非服务调用者使用的少数端点使用。 (哇,这真是拗口,它有道理吗?)

此外,我建议契约(Contract)尽可能少。太多的契约(Contract)会导致可管理性差。良好的合约设计将有助于限制端点和服务调用的数量。从契约设计中删除面向对象的概念是实现这一目标的一种方法。契约(Contract)设计本身就是一个很大的话题,但足以说明,通过良好的契约(Contract)规划(预先),可以带来良好的服务设计。

马丁·穆伦德 writes a great blog关于 WCF 设计,是必读的。也出现了一些优秀的 SOA/WCF 书籍。

一些好书:

关于wcf - 大型 WCF 服务的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/233571/

相关文章:

c# - 具有长属性名称的 WCF DataContractSerializer 性能

c# - 连接到 WCF RESTful 服务时创建 Ssl 服务器凭据时发生 fatal error

wcf - 如何将 Web 应用程序添加到现有网站?

c# - 响应消息的内容类型 application/xml;charset=utf-8 与绑定(bind)的内容类型不匹配 (text/xml; charset=utf-8)

asp.net - 大多数人如何在应用程序(子文件夹)中组织代码?

c# - WCF如何创建连接到同一个服务实例的两个 channel

从网站客户端脚本进行 WCF RESTful 服务跨域访问

vb.net - WCF 错误 - 接收对 http ://localhost:50750/*******. svc 的 HTTP 响应时发生错误

c# - 对 WCF 客户端进行单元测试

wcf - Silverlight 故障