WCF 关于自定义MessageHeader支持

WCF消息安全模式之自定义用户名密码 消息安全模式之UserName客户端身份验证需要服务器需要一个有效的可用于TLS 加密和向客户端验证服务身份的 X.509 证书,并且客户端必须信任此服务器证书。 这里使用http协议。建议安全上下文以后,使用共享安全上下文对SOAP消息进行加密和签名。但是采用UserName客户端身份验证。也就是客户端提供用户名和密码才可以访问此服务。 1.身份验证(服务器):提供证书,(使用 HTTP)用于初始会话协商和证明服务身份。 2.身份验证(客户端):客户端使用用户名和密码进行身份验证 立即下载

我们在项目中有些公共信息可以不通过方法参数提供,将这些信息封装到MessageHeader,通过客户端提交给Server。这种情况下我们需要注意WCF不同的实例模式、会话模式对Header的支持情况:

实力模式(InstanceContextMode)PerCall、PerSession支持Header,但是Single不支持自定义header,表现是服务器无法获取Header内容

另外如果在ServiceContract中启用会话模式(SessionMode)声明,那么SessionMode.NoAllowed、SessionMode.Allowed两种模式下是可以接收到Header的,但是SessionMode.Required模式无法接收Header,给我的感觉是Session跟messageheader有冲突。

建议:InstanceContextMode采用PerCall,而SessionMode采用NoAllowed;如果我们不做显示声明InstanceContextMode默认采用PerSession,而SessionMode采用Allowed

在PerCall、PerSession、Single三种模式中,PerCall是性能最高的,节省资源,支持系统的可伸缩性。由于服务实例的生命周期只存在于一次调用期间,特别对于那些持有昂贵资源的服务实例而言,这种方式可以有效地提高系统性能。销毁服务实例时,WCF不会断开与客户端的连接。

避开集成插件!手把手教你用URL登录实现Finereport与致远OA的无缝跳转 本文详细介绍了如何通过URL登录机制实现Finereport与致远OA的无缝跳转,无需复杂插件配置。文章涵盖用户体系同步、环境配置、URL登录核心设置及安全加固方案,特别适合企业数字化转型中BI工具与OA系统的轻量化集成需求。 阅读详情

相关推荐

对E-R模型向关系模式转换的认识

一:基本E-R图的转换 1     属性处理 派生属性:直接忽略。 复合属性:展平技术。 多值属性:单独建立一个关系表,关系名就是多值属性名,如果是实体集的多值属性,关系的属性就是实体集的码加上多值属性,如果是联系集的多值属性,关系的属性就是各个实体集的码加上多值属性,关系的码要具体情况具体分析。 2     基本E-R图转换为关系模式 强实体集:一个关系,关系名就是强实体集名,关系属

优快云_LYY的专栏 2731

WCF不用证书实现验证(messageheader)

上文WCF进阶:将消息正文Base64编码中介绍了实现自定义MessageInspector来记录消息和实现自定义Formatter来改写消息,本文介绍一下在WCF中使用SoapHeader进行验证的两种实现方法,同时再次复习自定义Inspector和自定义EndpointBehavior。 在Xml Web Service中能将用户的身份信息如用户名,密码添加到SoapHe...

diaohuyi6830的博客 326

在工作台 LS-DYNA 中检索和变换反作用力分量

在结构仿真中,通常需要由施加的位移或速度边界条件产生的反作用力。此外,通常需要根据用户定义的坐标系解析反作用力分量。在本文中,详细介绍了在Workbench (WB) LS-DYNA 中,相对于用户定义的坐标系检索和变换反作用力分量的过程。

jkh920184196的博客 885

WCF身份验证之二:使用MessageHeader进行验证

关于这个主题, 还有一篇 WCF身份验证之一:使用证书进行验证. 关于使用SoadHeader验证Robin已经有一篇十分精彩的文章: WCF进阶:为每个操作附加身份信息, 不过我的思维方式总是跟别人有点不太一样, 还是把类似的内容用我的方式重新组织一下. 使用Header验证最直接的想法就是不要使用证书, 证书在很多场合都显得太过于复杂了, 而我们对安全性的要求并没有那么高, 毕竟我们周围的...

weixin_30454481的博客 326

PCIe链路训练Recovery状态机:从RcvrLock到链路稳定的关键路径

本文深入解析PCIe链路训练中的Recovery状态机,特别是RcvrLock状态的关键作用。从Block对齐、均衡预设值应用到状态转移条件,详细介绍了确保链路稳定的技术要点,并提供了高速率下的特殊处理方法和常见问题排查指南,帮助工程师解决PCIe链路不稳定问题。

weixin_28739079的博客 174

halcon C++编程 第4讲 HObject/HImage Mat相互转换(tcy)

网上有很多相互转换程序,但并不知那个正确,本文对相互转换后的结果和原对象比较是否相同判断转换是否正确。经测试ok.本文包括转换代码及测试是否相同。 1.转换程序: /************************************ HObject转为Mat:time:2021/3/16 V1.0 *************************************/ cv::Mat HalconClass::HObjectToMat(const HalconCpp::HObject&..

tcy-阿春 4931

WCF messageheader校验头

客户端 ServiceTokenValidation.DinoTechDataSyncServiceClient client = new ServiceTokenValidation.DinoTechDataSyncServiceClient();  using (OperationContextScope scope = new OperationContextScope(client.I

waydesmith的博客 803

FastAPI + LLM 实战:5分钟搞定本地模型API服务部署(含避坑指南)

本文详细介绍了如何使用FastAPI和LLM(大语言模型)快速部署本地API服务,涵盖环境准备、模型集成、性能优化及避坑指南。通过实战示例,帮助开发者在5分钟内完成从零到生产的部署过程,提升AI应用开发效率。

weixin_29062963的博客 102

WCF使用OperationContext添加和获取头信息

使用网上的例子使用WCF头信息可以用于在调用Service的同时传递Header元数据 客户端: ChannelFactory<IOrderProcessor> channelFactory = new ChannelFactory<IOrderProcessor>("defaultEndpoint"); IOrderP...

weixin_34015566的博客 816

HAMi 核心模块与架构设计

HAMi 的架构设计是围绕 Kubernetes 生态系统构建的,通过扩展 Kubernetes 的调度能力和设备管理能力,为用户提供了高效、灵活的异构设备虚拟化和管理解决方案。

北斗云的博客 2552

YOLOv11改进 | Conv/卷积篇 | 轻量化多尺度异构卷积(MSHC)优化YOLOv11精度(全网独家首发)

本文介绍了Hype-YOLO提出的MANet结构,这是C3、C2f、C3k2的升级版,能显著增强特征提取能力。MANet整合了DSConv和C2f结构,通过多分支异构设计提升梯度流动和特征语义深度。文章详细解析了MSHC模块的原理,包括其多尺度并行建模、通道混洗等核心机制,并提供了完整的代码实现和训练教程。实验表明,Hype-YOLO的精度优于YOLOv11。该结构在保持轻量化的同时,通过异构分支设计实现了更丰富的特征表达,适用于目标检测等视觉任务。

Snu77的博客 949

三种可行的消息压缩方案

我们自定义的MessageFormatter实际上是对DataContractSerializerOperationFormatter的封装,我们依然使用它来完成序列化和反序列化工作,额外实现序列化后的压缩和法序列化前的解压缩。我们采用常用的计算服务的例子,下面是服务契约和服务类型的定义。具体来说,客户端通过ClientMessageFormatter实现对请求消息的序列化和对回复消息的序列化,而服务端通过DispatchMessageFormatter实现对请求消息的反序列化和对回复消息的序列化。

gX6TT9QC5的博客 201

Altium Designer系列: 软件系统参数配置保存

【Altium Designer实践】 软件系统参数配置保存 作者 CodeAllen ,转载请注明出处 目录设置中文菜单高亮模式设置文件关联pcb设置布线设置保存配置文件(复用) 设置中文菜单 DXP->Preferences 高亮模式设置 文件关联 pcb设置 布线设置 保存配置文件(复用) ......

CodeAllen嵌入式 2018

wcf学习目录

WCF进阶:扩展EndpointBehavior实现全局参数验证 摘要: 上一篇文章WCF进阶:扩展bindingElementExtensions支持对称加密传输阐述了如何扩展BindElementExtension来支持在配置文件中配置服务或者客户端代理,本文讲述另外一种应用,通过实现IEndpointBehavior来全局验证操作参数,并且进一步产生比较复杂的...

weixin_30265103的博客 209

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

《WCF技术内幕》翻译27:第2部分_第5章_消息:使用消息头(上)

Posted on 2009-12-13 19:54 Frank Xu Lei 阅读(301) 评论(3)  编辑 收藏 网摘 所属分类: 《WCF技术内幕》翻译, SOA and EAI <!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http:

微软特邀讲师 老徐FrankXuLei 的专栏 1235

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

[原创]WCF技术剖析之十七:消息(Message)详解(下篇)

[爱心链接:拯救一个25岁身患急性白血病的女孩[内有苏州电视台经济频道《天天山海经》为此录制的节目视频(苏州话)]]《WCF技术剖析(卷1)》自出版近20天以来,得到了园子里的朋友和广大WCF爱好者的一致好评,并被卓越网计算机书店作为首页推荐,在这里对大家的支持表示感谢。同时我将一直坚持这个博文系列,与大家分享我对WCF一些感悟和学习经验。在《消息(Message)详解》系列的上篇和中篇

artech的专栏 2921

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

WCF学习-Contracts介绍

说起Contracts,我们大家都能想到它的中文意思,没错,“合同,契约”。那我们搬出它来做什么呢?WCF是一种技术架构,支持跨平台,跨语言,跨域等多种复杂环境。这种情况就不得不要求我们做出一种规范,来实现上述目的。而这种规范就是所谓的“契约”。 我们先说说契约的种类:ServiceContract, DataConstract, FaultContract, Me...

atlu34184的博客 342

WCF技术剖析之十七:消息(Message)详解(下篇)

《WCF技术剖析(卷1)》自出版近20天以来,得到了园子里的朋友和广大WCF爱好者的一致好评,并被卓越网计算机书店作为首页推荐,在这里对大家的支持表示感谢。同时我将一直坚持这个博文系列,与大家分享我对WCF一些感悟和学习经验。在《消息(Message)详解》系列的上篇和中篇,先后对消息版本、详细创建、状态机和基于消息的基本操作(读取、写入、拷贝、关闭)...

weixin_34081595的博客 213

WCF 学习总结5 -- 消息拦截实现用户名验证

WCF建立在基于消息的通信这一概念基础上。通过方法调用(Method Call)形式体现的服务访问需要转化成具体的消息,并通过相应的编码(Encoding)才能通过传输通道发送到服务端;服务操作执行的结果也只能以消息的形式才能被正常地返回到客户端。所以,消息在整个WCF体系结构中处于一个核心的地位,WCF可以看成是一个消息处理的管道,如下图所示: WCF的一个操作(以及操作的参数)被序列化为So...

tubaluer 201

WCF - Stream

WCF 支持传送二进制流数据,但有一定的限制。 只有 BasicHttpBinding、WebHttpBinding、NetTcpBinding 和 NetNamedPipeBinding 支持传送流数据。 流数据类型必须是可序列化的 Stream 或 MemoryStream。 传递时消息体(Message Body)中不能包含其他数据。 我们先看看下面的例子。注意将 B

微软新技术 2056
上一篇: 企业销售管理现状分析与解决思路
下一篇: 针对 WCF 数据压缩开发包压缩效率的测试比较
CNet
博客等级 码龄25年 6粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值