Używam .NET 4.5.1 dla mojej usługi WCF i .NET 4.0 dla aplikacji usługi Windows klienckiej.Usługa WCF Reference for DateTimeOffset? nie używa FCL typu
W umowie danych znajduje się DataMember typu DateTimeOffset?
(wartość zerowa DataTimeOffset
).
Po dodaniu odwołania do usługi do usługi WCF uważa się, że DateTimeOffset?
jest złożonym typem. Innymi słowy, nie sądzisz, że jest to System.DateTimeOffset?
, uważa się, że jest to ServiceReference1.DataTimeOffset?
Jak to naprawić?
Oto, co starałem dotąd:
stworzyć najbardziej prosty przykład pokazuje, że to rozwiązanie. Niestety nie mogłem odtworzyć problemu, więc musi to być coś unikalnego w mojej konfiguracji.
Napisz adnotację do klasy
DataContract
z[KnownType(typeof(DateTimeOffset?))]
. Niestety to nic nie dało.Sprawdź "Typy ponownego wykorzystania w zespołach referencyjnych". To spowodowało, że obiekt "ServiceReference1" nie był w ogóle dostępny w aplikacji Console.
Ktoś ma jakieś inne pomysły, jak to naprawić?
Dziękuję.
Co rozwiązanie klient wygląda? Czy uwzględniasz zestawy usług w swoim kliencie testowym? – dblood
@dblood, dzięki za odpowiedź. Tak, to dziwne. Mam umowę danych w jej własnym projekcie (bibliotece klas), do której odwołuje się zarówno projekt WCF, jak i projekt aplikacji konsolowej. – BlueSky
OK, to dobrze. Już wcześniej używaliśmy tego rodzaju rozwiązania. Czy może opublikować zrzut ekranu eksploratora rozwiązań dla klienta? – dblood