Как сериализовать класс в WCF

#asp.net #wcf

#asp.net #wcf

Вопрос:

Я не хочу, чтобы мой класс отображался на стороне пользователя, который использует мою службу WCF, но его нужно сериализовать, с помощью какого атрибута мне нужно украсить свой класс для достижения этой функциональности ….

Я думаю, что атрибут [serializable], причина, по которой я не уверен, есть ли атрибут в WCF для достижения той же функциональности…….

Ответ №1:

Вы можете использовать атрибуты DataContract и DataMember тому подобное в этом примере:

 [DataContract(Name = "Account", Namespace = "http://mynamespace.schema")]
public class Account 
{
    [DataMember(IsRequired = true)]
    public string Username { get; set; }

    [DataMember(IsRequired = false)]
    public string Password { get; set; }
}
  

Комментарии:

1. Мы будем использовать этот атрибут, когда нам нужно, чтобы наш класс был сериализован и доступен (будет отображаться в intellisence) на стороне клиента, но мой класс не должен быть доступен для пользователя, и его необходимо сериализовать……. Не могли бы вы дать решение для этого

2. @Harishkakani используйте шаблон DTO для передачи данных с сервера на клиент и отображения ваших внутренних классов данных в классах DTO

Ответ №2:

вы можете использовать DataContractAttribute

Комментарии:

1. Мы будем использовать этот атрибут, когда нам нужно, чтобы наш класс был сериализован и доступен (будет отображаться в intellisence) на стороне клиента, но мой класс не должен быть доступен для пользователя, и его необходимо сериализовать……. Не могли бы вы дать решение для этого