Znikający DataContract w WCF

Windows Communication Foundation

Czasami dzieje się tak, że stworzymy nowy DataContract w serwisie, po czym wygenerujemy nowe klasy proxy w kliencie i ku naszemu zdziwieniu okazuje się, że nie ma tam naszej klasy. Dlaczego?

Co więcej! Nawet zrobimy metodę w serwisie, która używa naszego nowego DataContract’u, a w kliencie dalej go nie ma. Dlaczego?

Jednym z powodów (na którym i ja się czasami łapie) jest niewystawienie ani jednej metody (OperationContract) korzystającej z nowego DataContract’u w ServiceContract (interface servicu). Wówczas Optymalizator uznaje że: Aha. Fajnie, że jest nowa klasa (DataContract), ale żadna z moich publicznych metod (OperationContract) jej nie potrzebuje. A skoro tak, to nie będzie jej, bo po co :).

Advertisements