1
我的理解是,在WCF ServiceContract中使用的每種類型(除了像int和字符串之類的一些基本類型)都需要使用ServiceKnownType屬性進行聲明。但是,我已經構建了一個自定義對象,它在我的WCF服務中傳輸並沒有任何問題 - 即使我沒有爲它添加ServiceKnownType。請有人解釋爲什麼這個工程?爲什麼我的對象不需要ServiceKnownType?
[ServiceContract(CallbackContract = typeof(IMyServiceCallback))]
public interface IMyService
{
[OperationContract]
List<MyObject> LoadMyObjects();
}
[DataContract]
public class MyObject
{
[DataMember]
private int batchID;
[DataMember]
private int fileID;
[DataMember]
private string fileName;
[DataMember]
private DateTime importStartTime;
// ...
}
謝謝。這是否一直如此,還是最近對WCF的改變?我想我從來沒有意識到。 – TheSean 2010-08-19 15:26:02
是的,自WCF的第一個版本開始就是如此。 – 2010-08-19 19:45:20