wcf - 什么是选择序列化器

标签 wcf serialization

我正在学习 wcf,并且我看到此选择加入和选择退出序列化。我还在摸不着头脑。我已经看过this SO post 。但这没有帮助。有人能简单地向我解释一下它是什么吗?

最佳答案

其实就这么简单: 选择加入方法表示,被视为 DataContract 一部分的属性必须显式标记,否则将被忽略,而选择退出方法则意味着除非显式标记,否则所有属性都将被假定为 DataContract 的一部分。

namespace MySchoolService

    {
                    [DataContract]
                    public class Student
                   {
                           [DataMember]
                           public string StudentNumber;
                           [DataMember]
                           public string FirstName;
                           [DataMember]
                           public string LastName;                     

                          public string MarksObtained;
                   }
                  [ServiceContract]
                   public interface IStudentService
                   {
                              //Service Code Here.
                   }
    }

在上面的代码中,Student 类的 StudentNumberFirstNameLastName 属性均显式标记为 DataMember 属性与 MarksObtained 相反,因此 MarksObtained 将被忽略。 下面的代码代表了选择退出方法的示例。

namespace MySchoolService
{
                [Serializable()]
                public class Student
               {
                       public string StudentNumber;
                       public string FirstName;
                       public string LastName;                     
                      [NonSerialized()]
                      public string marksObtained;
               }               
               [ServiceContract]
               public interface IStudentService
               {
                          //Service Code Here.
               }
}

在上面的示例中,我们显式地将 MarksObtained 属性标记为 [NonSerialized()] 属性,因此除了其他属性外,它将被忽略。 希望可以帮到你。

关于wcf - 什么是选择序列化器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42464007/

相关文章:

c# - 始终在 WCF 服务中使用 Json 返回 XML 字符串

c# - Entity Framework Brainmush Kerfuffle 壮观

c# - 如何使用 HttpWebRequest 将 XML 流发布到 wcf http rest 服务

c++ - 将枚举类变量保存到 JSON

java - 关闭框架时保存目标文件

具有多个客户端的 WCF 回调

c# - 如何根据需要指定 OperationContract 的参数

c# - 自定义 json contractresolver .net web api 在某些情况下回落到 camelcase

c# - Json.Net:将属性序列化/反序列化为一个值,而不是一个对象

php - 什么可能导致 PHP 序列化函数失败?