Json WCF服务方法如下所示:
getFoo(MyDataType data){ ...
WCF自动转换看起来像的HTTP请求:
randomGuy{
name:'John',
age:18
}
进入C#定义的类型
MyDataType{
string name {get;set;}
int age {get;set;}
}
但是,如果我加密请求内容,而不是接收看起来像
的请求randomGuy { 名称:“约翰”, 年龄:18 } 我会收到的 wceweuicn23cb38v934vb398v03c264vb834gv3v7b3vb3647v34vb3v83vh38v43vhv3hv
有没有办法先将请求内容解密为randomGuy { 名称:“约翰”, 年龄:18 在WCF将JSON对象转换为.net定义的类型MyDataType?
之前答案 0 :(得分:1)
对我来说,你有两个选择:
总之,我认为您正在寻找的答案与IClientMessageInspector一致,它允许您在WCF客户端上必要时操纵消息并拦截它们。本文应该稍微解释一下 - enter link description here
答案 1 :(得分:0)
在这种情况下,IDispatchMessageInspector或IDispatchMessageFormatter似乎可以为您提供帮助。通常检查System.ServiceModel.Dispatcher命名空间 - 还有其他有用的工作人员。
使用IDispatchMessageInspector的想法,您可以在传入消息从JSON转换为.NET对象之前更改(在您的情况下解密)。