WCF Behaviors
来源:互联网 发布:南宁php招聘 编辑:程序博客网 时间:2024/06/06 14:02
1、Behaviors(行为) 定义WCF 客户端与服务端运行时的特性或配置,behaviors 不仅影响WCF 运行时,还会影响客户端与服务端之间的数据通信。
2、Behaviors 分类
服务级别,终结点级别,操作级别,契约级别
3、服务级别
ServiceBehavior,可以控制行为的并发性、实例化、限流、事务、会化管理、线程
1)AddressFilterMode
允许修改消息过滤器三个属性值:Any,Exact,Prefix消息分发器利用此设置来保证由正确的终结点处理传入的消息
2)AutomaticSessionShutdown
阻止服务器在全部消息都处理完毕后关闭会话设置为false时,就可以控制会话的生命周期了
3)ConcurrencyMode
设置服务是以单线程还是多线程运行默认值Single
4)IgnoreExtensionDataObject
默认值false设置为true,消息中不带任何未知的序列化数据
5)IncludeExtceptionDetailInFaults
设置为true,把未处理的异常作为SOAP错误消息发送给客户端开发环境需要设置为true,生产环境中需要设置为false
6)InstanceContextMode
设置服务实例的生命周期值:PerSession,PerCall,Single
7)MaxItemsInObjectGraph
当对象超出序列化或反序列化的最大项数时,会产生一个异常
8)ReleaseServiceInstanceOnTransactionComplete
设置为true,表示当活动事务结束后释放服务对象
ServiceHost host = new ServiceHost(typeof(Service1));host.AddServiceEndpoint(typeof(IService2), new BasicHttpBinding(), "http://localhost:9000/Service1");ServiceMetadataBehavior d = host.Description.Behaviors.Find<ServiceMetadataBehavior>();if (d == null){ d = new ServiceMetadataBehavior(); host.Description.Behaviors.Add(d);}d.HttpGetEnabled = true;
[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerCall)]
4、操作级别
OperationBehavior,可以控制的行为有,事务行为、访问者身份识别行为、对象回收行为
1)AutoDisposeParameters
允许操作自动处理输入、输出和引用参数,默认为false
2)TranactionAutoComplete
当事务启动时,如果当前方法没有产生错误,把当前事务标志为结束设置为false,手动把事务标志为结束或放弃
3)TransactionScopeRequired
可判断一个事务是否是当前方法所请求的
4)Impersonation
有时需要以访问者的身份执行操作,需要设置这个属性为Required或Allowed
5)ReleaseInstanceMode
允许覆盖当前的服务对象None,BeforeCall,AfterCall,BeforeAndAfterCall
5、终结点级别
EndpointBehavior,服务行为只在服务端应用,终结点行为可以应用于服务,也可以应用于客户端。可以实现对客户端证书的使用和序列化器参数的管理。
1)dispatcherSynchronization
指定允许服务进行异步答复的终结点行为。
2)enableWebScript
启用终结点行为,此行为使得可以使用 ASP.NET AJAX 网页中的服务。此行为只能与 webHttpBinding 标准绑定或 webMessageEncoding 绑定元素一起使用。
3)endpointDiscovery
指定终结点的各种发现设置,例如终结点的可发现性、范围以及对终结点元数据的任何自定义扩展。
4)soapProcessingExtension
定义用于封送不同绑定类型和消息版本之间消息的客户端终结点行为。
5)synchronousReceive
指定服务或客户端应用程序中用于接收消息的运行时行为。它不具有任何属性或子元素。
6)transactedBatching
指定接收操作是否支持事务批处理。
7)webHttp
通过配置指定终结点上的 WebHttpBehavior。此行为与 webHttpBinding 标准绑定结合使用时,将为 WCF 服务启用 Web 编程模型。
6、契约级别
- WCF Behaviors
- WCF concepts: bindings vs. behaviors
- Extending WCF with Customer Behaviors
- Steering Behaviors
- yii2 behaviors
- Triggers、Actions 和 Behaviors
- TransactionAttributeType(transaction propagation behaviors)
- understanding Steering Behaviors
- Understanding Steering Behaviors: Queue
- CoordinatorLayout Behaviors使用说明[翻译]
- behaviors()行为调用
- 关于Yii2 behaviors() 小记
- [过滤器] -- behaviors过滤器
- Xamrin.Forms 基础——Behaviors——Attached Behaviors
- Silverlight之Styles和Behaviors
- Understanding Steering Behaviors: Collision Avoidance
- Yii2.0 behaviors方法使用
- Yii2过滤器behaviors()行为调用
- js对象浅拷贝和深拷贝详解
- 鸟哥的linux私房菜学习笔记《十七》设置开机挂载及构架swap
- 动态代理总结
- iOS的licode_APP简单分析
- 最全面的 Sublime Text 使用指南
- WCF Behaviors
- Android 基础控件- EditText
- 面向对象编程(类,构造器,重载,this关键字)
- SQLite
- PAT-B 1043. 输出PATest(20)
- Repond.js
- 时间格式转换
- 启动maven项目下载依赖慢
- Android通过广播接收者调用服务(service)内方法