确实有很多选择。
捆绑
WCF 提供的绑定是一组用于常见方案的协议。它指定传输、消息和安全信息。
选择绑定时,您需要从中找出您需要的功能。例如,您可能需要一种方法
- 验证客户端,因为您不希望每个人都能够使用您的服务。
- 数据可能需要加密。
- 该服务需要与来自其他平台的客户端互操作。
- 消息的开销正在成为一个问题。
如果您知道客户端始终来自 dot net,则可以使用 net tcp 绑定,这比 basicHttpbinding 更快。但是,basicHttpBinding 是一个可互操作的协议,即使是 php 或 java 客户端也可以毫无问题地与之通信。
定义自己对服务的需求,然后寻找现有的绑定来满足你的需求,如果没有任何现有的绑定,你可以创建自己的绑定,称为自定义绑定,它可以将不同绑定的特性组合在一起来实现目标。
托管
IIS 更具可扩展性。如果您的服务不需要在长期运行的守护进程(Windows 服务或控制台应用程序)中托管的状态,则选择 IIS,因为它很容易为您的服务启用压缩和加密。
更多关于绑定
如果您希望在浏览器中调用您的服务,即 javascript WebHttpBinding 是一个很好的 dot net 为您定义的服务。您可以利用 enbableWebScript 使服务理解 JavaScript 的 JSON。
可用性
如果一个特定的绑定不能满足所有的要求,您可以在不同的端点以不同的绑定公开每个服务。例如主机/soap 主机/nettcp 主机/json