加密请求内容的WCF JSON服务

时间:2012-05-05 10:32:40

标签: json wcf

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?

之前

2 个答案:

答案 0 :(得分:1)

对我来说,你有两个选择:

  • 选项1:使用SSL进行连接,以使邮件受到保护。
  • 选项2:拦截消息

总之,我认为您正在寻找的答案与IClientMessageInspector一致,它允许您在WCF客户端上必要时操纵消息并拦截它们。本文应该稍微解释一下 - enter link description here

答案 1 :(得分:0)

在这种情况下,IDispatchMessageInspectorIDispatchMessageFormatter似乎可以为您提供帮助。通常检查System.ServiceModel.Dispatcher命名空间 - 还有其他有用的工作人员。

使用IDispatchMessageInspector的想法,您可以在传入消息从JSON转换为.NET对象之前更改(在您的情况下解密)。