iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >WCF Stream对象是什么
  • 256
分享到

WCF Stream对象是什么

2023-06-17 20:06:39 256人浏览 八月长安
摘要

本篇内容介绍了“WCF Stream对象是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!由于Stream操作受到绑定的限制,只能使用Ba

本篇内容介绍了“WCF Stream对象是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

由于Stream操作受到绑定的限制,只能使用BasicHttpBinding,NettcpBinding以及绑定,因此必然会影响服务实例的激活类型,最主要的是对Session模式的影响。首先BasicHttpBinding并不支持Session模式的激活类型。NetTcpBinding以及NetNamedPipeBinding绑定虽然支持Session模式,但是由于WCF Stream对象操作不支持可靠消息传递,即不能将ReliableSession设置为true。因此在定义服务契约的SessionMode时,不能将其值设置为SessionMode.Required,否则会抛出异常。

WCF Stream对象操作(指TransferMode不为Buffered)本身并不支持Session模式。即使我们在使用NetTcpBinding时,将服务契约的SessionMode设置为Allowed,并将服务的InstanceContextMode设置为PerSession,服务的执行方式仍然是PerCall方式。(如果不是Stream操作,这样的设置服务应为PerSession模式)因此,在执行Stream操作时,即使按照Session模式对服务进行设置,如果我们通过OperationContext.Current.SessionId去获得会话ID,其值应该为空。

此外,由于传输的Stream对象较大,可能会消耗过长的时间,因而建议增大绑定的SendTimeout属性值。例如设置为10分钟。编程方式设置为:

binding.SendTimeout=TimeSpan.FromMinutes(10);

配置文件的设置方式为:

<binding……sendTimeout="00:10:00"/>

注意,对绑定的相关设置必须要求服务端与客户端的配置一致。***实践是均通过配置文件进行设置。例如在我的应用程序中是这样设置的:

<basicHttpBinding> <bindingnamebindingname="DocumentExplorerServiceBinding" sendTimeout="00:10:00" transferMode="Streamed" messageEncoding="Text" textEncoding="utf-8" maxReceivedMessageSize="9223372036854775807"> </binding> </basicHttpBinding>

“WCF Stream对象是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: WCF Stream对象是什么

本文链接: https://www.lsjlt.com/news/292642.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作