• WCF契约描述


    Code
    WCF系统架构

     1 namespace WCF
     2  {
     3  
     4      /*----------------------------------------------------------
     5       WCF契约
     6       1服务契约[ServiceContract]
     7         客户端能够执行的服务操作.
     8       2数据契约[Data Contract]
     9         定义与服务交互的数据类型.如Int,String,Double 等
    10       3错误契约[Fault Contract]
    11          *服务端有什么错误 告诉客户端应用程序
    12       4消息契约[Message Contract]
    13         允许服务直接与消息交互
    14      ------------------------------------------------------------ */
    15      
    16      //服务契约
    17      [ServiceContract]
    18      public interface IService1
    19      {
    20          [OperationContract]/*用于描述 该类是服务的一部分*/
    21          string GetData(int value);
    22  
    23          [OperationContract]
    24          CompositeType GetDataUsingDataContract(CompositeType composite);
    25  
    26          //不会成为服务的一部分
    27          string GetAny(string name);
    28      }
    29  
    30      //服务
    31      public class ServiceInfo : IService1
    32      {
    33  
    34          public string GetData(int value)
    35          {
    36              return (value + value).ToString(CultureInfo.InvariantCulture);
    37          }
    38  
    39          public CompositeType GetDataUsingDataContract(CompositeType composite)
    40          {
    41              if (composite == null)
    42              {
    43                  throw new ArgumentNullException("composite");
    44              }
    45              if (composite.BoolValue)
    46              {
    47                  composite.StringValue += "Suffix";
    48              }
    49              return composite;
    50          }
    51  
    52          public string GetAny(string name)
    53          {
    54              return "不是WCF服务的方法";
    55          }
    56      }
    57  
    58      //数据契约
    59      [DataContract]
    60      public class CompositeType
    61      {
    62          bool _boolValue = true;
    63          string _stringValue = "Hello  WCF!";
    64  
    65          [DataMember]
    66          public bool BoolValue
    67          {
    68              get { return _boolValue; }
    69              set { _boolValue = value; }
    70          }
    71  
    72          [DataMember]
    73          public string StringValue
    74          {
    75              get { return _stringValue; }
    76              set { _stringValue = value; }
    77          }
    78      }
    79  
    80      [AttributeUsage(AttributeTargets.Interface|AttributeTargets.Class,Inherited =false)]
    81      public sealed class ServiceContractAttribute : Attribute //允许开发者定义一个服务契约
    82      {     
    83          public string Name { get; set; }
    84          public string NameSpace { get; set; }
    85          //更多成员
    86      }
    87  }
    88  
  • 相关阅读:
    JDK1.8中IndexedPropertyDescriptor的改变对BeanUtils的影响
    tomcat生成ssl证书并发布浏览器信任的https服务
    spring boot问题记录
    阿里云ecs服务器搭建以及polarDB使用说明
    关闭代理后,仍不能正常浏览或使用软件
    python基础-异常介绍
    python基础-中文编码
    python读取Excel,且存入列表中
    短信验证工作流程
    接口自动化测试框架HttpRunner使用案例
  • 原文地址:https://www.cnblogs.com/w2011/p/2733912.html
Copyright © 2020-2023  润新知