zoukankan      html  css  js  c++  java
  • wcf消息契约

    image

    1.最多一个参数和一个返回值,返回值和参数的类型都是消息类型。

    image

    image

    下面的代码为定义一个消息契约的实例

    [MessageContract]
       public class MyMessage
       {
           private string operation;
           private double n1;
           private double n2;
           private double result;

           //Constructor - create an empty message.

           public MyMessage() {}

           //Constructor - create a message and populate its members.

           public MyMessage(double n1, double n2, string operation, double result)
           {
               this.n1 = n1;
               this.n2 = n2;
               this.operation = operation;
               this.result = result;
           }

           //Constructor - create a message from another message.

           public MyMessage(MyMessage message)
           {
               this.n1 = message.n1;
               this.n2 = message.n2;
               this.operation = message.operation;
               this.result = message.result;
           }

           [MessageHeader]
           public string Operation
           {
               get { return operation; }
               set { operation = value; }
           }

           [MessageBodyMember]
           public double N1
           {
               get { return n1; }
               set { n1 = value; }
           }

           [MessageBodyMember]
           public double N2
           {
               get { return n2; }
               set { n2 = value; }
           }

           [MessageBodyMember]
           public double Result
           {
               get { return result; }
               set { result = value; }
           }

           [MessageHeader(MustUnderstand=true)]
           public string str;

       }
    消息契约中使用数组对应的消息格式。

    image

    image

    下面例子是消息契约中使用自定义类型:

    1.使用数据契约定义一个类型

    2.在消息契约把数据契约作为消息契约的一部分(使用MessageHeader或MessageBodyMember)

    关于消息加密

    image

    1、消息头自己决定自己

    2、消息正文部分由最低保护级别,即下面的使用EncrypAndSign.

    image

    image

    意上述主要是针对标头来说的

    提高性能的方法:把消息契约的头和身子封装到一个类中,再对类使用消息契约。

    image

    改进后

    image

    header中的MustUnderstand必须在客户端和服务端一致。

  • 相关阅读:
    web安全之ssrf
    web安全之sql注入布尔注入
    web安全之sql注入报错型注入
    web安全之sqlload_file()和into outfile()
    浅谈 FHQ-Treap
    (菜鸟都能看懂的)网络最大流最小割,Ford-Fulkerson及Dinic详解
    浅谈最小生成树
    浅谈强连通分量(Tarjan)
    DP-DAY3游记
    关于01背包问题
  • 原文地址:https://www.cnblogs.com/lzhp/p/3501173.html
Copyright © 2011-2022 走看看