adidas 信道栈里可以定义很多信道

本文详细介绍了adidas信道栈中BasicHttpBinding的配置参数及其意义,包括与服务调用相关的超时设置、消息大小限制及传输模式选择等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源:adidas 信道栈里可以定义很多信道

adidas 信道栈里可以定义很多信道,如:BasicHttpBinding,WSHttpBinding,NetTcpBinding 等。我们就从最常用到的BasicHttpBinding来进行分析。

BasicHttpBinding类继承于Binding。我们对主要用到的限定做下描述:

Binding类中有OpenTimeout,SendTimeout,ReceiveTimeout,CloseTimeout4个时间的限定。服务宿主端和客户端配置都起作用。

举个场景,客户端调用服务这个过程:首先是打开服务通讯连接,这个过程可能会涉及到认证等过程,假如超过OpenTimeout的时间还没打开,就会触发对应的异常;其次是发送服务调用请求,然后服务宿主端收到请求,处理完,然后将结果反馈到客户端,这整个过程都输入客户端的发送过程,也就是这整个过程超过SendTimeout了,就会触发对应的异常,最后是关闭服务通讯连接,同打开服务通讯连接。

BasicHttpBinding类中有MaxBufferPoolSize(524288),MaxBufferSize(65536),MaxReceivedMessageSize(65536),TransferMode,ReaderQuotas等这些扩展限制。

其中MaxBufferSize和MaxBufferPoolSize是一对属性,当TransferMode为Buffered的时候,MaxBufferSize必须和MaxBufferPoolSize一致。

客户端这些属性的配置也应该和服务宿主的配置一致,当然也可以不一致,比如服务宿主这边采用TransferMode为Buffered,客户端采用TransferMode为Streamed。

当我们定义的Binding的Name为空,则这个Binding为默认的Binding。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值