У меня проблема с вызовом службы WCF из JQuery AJAX.GetUserDetails работает нормально, если я не пытаюсь добавить этот код в класс User:
[DataMember]
public virtual Role Role { get; set; }
После добавления кода я получаю состояние ошибки 12152. Если я закомментирую атрибут [DataMember] метода Role, все будет работать.
Вот OperationContract для метода:
[OperationContract]
[WebInvoke(Method = "POST",
ResponseFormat = WebMessageFormat.Json,
RequestFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped
)]
User GetUserDetails(string userName);
И класс пользователя:
[DataContract]
[KnownType(typeof(Role))]
public class User
{
[DataMember]
public virtual int UserId { get; set; }
[DataMember]
public virtual string UserName { get; set; }
[DataMember]
public virtual string FirstName { get; set; }
[DataMember]
public virtual string LastName { get; set; }
[DataMember]
public virtual string Email { get; set; }
[DataMember]
public virtual string Company { get; set; }
[DataMember]
public virtual string Comments { get; set; }
[DataMember]
public virtual bool IsApproved { get; set; }
[DataMember]
public virtual bool IsLocked { get; set; }
[DataMember]
public virtual bool LoggedIn { get; set; }
}
Роль класса
[DataContract]
public class Role
{
[DataMember]
public virtual string Name { get; set; }
[DataMember]
public virtual string Description { get; set; }
}
Буду признателен за вашу помощь!