我正在考虑创建一个通过慢速卫星连接的数据查询WCF服务,我真的很喜欢WCF数据服务。我看到的问题是HTTP是一种非常冗长的格式,因为我所做的一切都是内部的和.NET的,有没有可能使用NetTcpBinding来减少一些开销?
这有可能吗?可取吗?
发布于 2010-09-04 04:50:55
不,WCF Data Services是建立在REST之上的,而REST本身是非常紧密且完全基于HTTP动词的,比如GET,PUT,POST等等--你不能在NetTcp上运行它们,因为它们本质上是绑定到HTTP协议栈的。
也许你还有其他选择来减少传输的数据?调整您的对象-修剪fat,如果可以的话-包括一次检索的行数和传输的属性/数据字段的数量。这可能是你最有希望的方法。
发布于 2010-09-04 05:03:57
当我自己研究这个的时候,我遇到了MSDN article on Self-Hosted WCF Data Services。本文指出,您可以使用DataServiceHost托管服务,它仍然需要HTTP (它是从WebServiceHost派生的)。
但是你也可以使用IDataServiceHost来运行你自己的主机。以下是MSDN文章的摘录:
对于WCF主机实现过于严格的情况,您还可以为数据服务定义自定义主机。任何实现IDataServiceHost接口的类都可以用作数据服务的网络主机。自定义主机必须实现IDataServiceHost接口,并能够处理数据服务主机的以下基本职责:
这篇文章似乎表明,MS已经适当地将数据服务职责与网络接口职责分开。如果是这样,那么我应该能够编写一个NetTcpDataServiceHost。有没有人写过IDataServerHost?有什么建议吗?
https://stackoverflow.com/questions/3639068
复制相似问题