使用BasicHttpBinding检索和更新数据的最快方式
本文关键字:方式 数据 更新 BasicHttpBinding 检索 使用 | 更新日期: 2023-09-27 18:15:33
我应该使用BasicHttpBinding
的哪些设置,以便我的WCF服务尽可能快地获取和更新数据到SQL服务器.
安全不是问题…
目前我的客户端配置是这样的。它工作,但我想使它更快,如果可能的话:-
<system.serviceModel>
<bindings>
<customBinding>
<binding name="BinaryHttpBinding">
<binaryMessageEncoding />
<httpTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint name="httpEndpoint"
address="my address"
binding="customBinding"
bindingConfiguration="BinaryHttpBinding"
contract="FLOW5ServiceDLL.IFLOW5WCFService"/>
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</client>
</system.serviceModel>
这在很大程度上取决于上下文…正在发送多少请求?每个的尺寸是多少?等
如果您正在使用http和二进制,那么您应该考虑启用MTOM。这在basicHttpBinding元素上很容易做到。我不确定如何在自定义绑定上做到这一点。
你没有说明你是如何发送数据的;DataTable不同于List-of-T,等等
就我个人而言,我在使用basicHttpBinding + MTOM提高WCF性能方面取得了很多成功,但将序列化器换成了protobuf-net(通常比NDCS或DCS的带宽要小得多);这是多么容易做到,再一次,取决于上下文:如果你在客户端和服务器上使用程序集共享,它通常是微不足道的;如果您使用"mex",则需要更多的努力。
如果你有一个"喋喋不休"的API(许多小调用),首先要做的是将调用合并为更大更少的调用。
如果你在同一网络中,我会使用netttcpbinding进行快速二进制传输
也检查这个:
netttcpbinding或wsHttpBinding