2009-01-30 30 views
5

Tôi muốn bắt buộc svcutil để tạo tất cả các hợp đồng dữ liệu trong một hội đồng được WCF sử dụng, bất kể loại có được tham chiếu bởi một hợp đồng hoạt động đã cho hay không.Tôi có thể buộc svcutil.exe tạo hợp đồng dữ liệu cho dịch vụ WCF không?

[DataContract] 
public class Foo { } 

[DataContract] 
public class Bar : Foo { } 

[ServiceContract] 
public interface IService 
{ 
    [OperationContract] 
    void Get(Foo foo); 
} 

Với thiết lập này, tôi không thể có được svcutil để tạo ra một phiên bản của Bar như không có hợp đồng vận hành hiện tham khảo nó. Có cách nào để buộc svcutil tạo hợp đồng dữ liệu cho Bar không?

Trả lời

15

Thêm thuộc tính KnownType vào lớp Foo

[KnownType(typeof(Bar))] 
[DataContract] 
public class Foo { } 
Các vấn đề liên quan