这几天在做给wcf做加密传输,结果当然是实现了加密传输,同时也发现了一个问题,有没有大神来答疑解惑一下.
事情是这样的.
在客户端的配置中,需要加入一个behavior,在config文件中是这样的.
<behaviors> <endpointbehaviors> <behavior name="wshttpbindingbehavior"> <clientcredentials > <servicecertificate > <authentication certificatevalidationmode="none" /> </servicecertificate> </clientcredentials> </behavior> </endpointbehaviors> </behaviors>
按理说,任何在config的配置,都是可以写代码来实现的.这里写代码实现,我觉得又可以分两种:
因为我遇到这个需要修改的地方,client已经部署了几千套,要一个一个去修改client的配置,是很麻烦而且不科学的一件事情.幸好,程序架构能自动升级,只需要在升级的时候,用代码将behavior写到配置文件就可以了.听起来很完美.
可是呢,要把上面这段配置自动加到config中,我却找了几天都没有实现.情况如下:
client.clientcredentials.servicecertificate.authentication.certificatevalidationmode = system.servicemodel.security.x509certificatevalidationmode.none;
3.可是现有代码框架不是用的clientbase<t>,而是channelfactory<t>()方法创建的通道, channelfactory<t>()没有找到增加这个behaviors的方式.修改channelfactory变成clientbase,现在这项目不可行,修改太大.
4.当然,还有一种方法就是把config文件当成xml文件来处理,这是最后的大招了.暂时不想用.
不知道能不能被人看到,反正每次都说我不能上首页.
如对本文有疑问, 点击进行留言回复!!
Codeforces Round #654 (Div. 2)-C. A Cookie for You
Android 事件分发机制详解与实战剖析 | 开发者说·DTalk
【2】Codeforces Global Round 9. B. Neighbor Grid
【3】Codeforces Global Round 9. C. Element Extermination
网友评论