다음 개체가 있는데 int, string 및 custom 개체가 아닌 standart 개체를 지정할 때 잘 작동합니다.WCF의 사용자 지정 개체
[DataContract(Namespace = "")]
public class StatusLog<TItem>
{
/// <summary>
/// Gets or sets the key.
/// </summary>
/// <value>
/// The key.
/// </value>
[DataMember]
public Guid Id { get; set; }
/// <summary>
/// Gets or sets the action status.
/// </summary>
/// <value>
/// The action status.
/// </value>
[DataMember]
public ActionStatus ActionStatus { get; set; }
/// <summary>
/// Gets or sets the object.
/// </summary>
/// <value>
/// The object.
/// </value>
[DataMember]
public TItem Object { get; set; }
/// <summary>
/// Gets or sets the message.
/// </summary>
/// <value>
/// The message.
/// </value>
[DataMember]
public string Message { get; set; }
}
이 작동 : 새로운 StatusLog는 {식 Guid.NewGuid(), ActionStatus = ActionStatus.Deleted 개체 = Convert.ToInt32 (ID), 메시지 = "노드가 성공적으로 삭제"} 반환 ;
작동하지 않습니다. 새로운 StatusLog {Id = Guid.NewGuid(), ActionStatus = ActionStatus.Created, Object = MyCustomObject};
MyCustomObject의 유형도 직렬화 속성 ('[DataContract]','[DataMember]')으로 표시되어 있습니까? –
예. 그들은 둘 다 있습니다. –