Mam dwie usługi WCF .NET 3.5 budowane z VS2008.Jak zapobiec generowaniu właściwości "Określonych" w klientach WCF?
Mam dwóch klientów WCF w Silverlight do korzystania z tych usług. Klienci są generowani za pomocą "Add Service Reference". Używam Silverlight 4.
JEDEN z proxy jest generowany z Specified
właściwości dla każdej nieruchomości. Jest to klasa „message-in” dla mojego metody usługi:
// properties are generated for each of these fields
private long customerProfileIdField;
private bool customerProfileIdFieldSpecified;
private bool testEnvField;
private bool testEnvFieldSpecified;
Teraz moje inne usługi (nadal z Silverlight klienta) nie generować Specified
właściwości.
Teraz nie dbam o "zasady dobrego SOA". Po prostu chcę pozbyć się tych cholernych właściwości, ponieważ w kontekście tego, co robię, absolutnie ich nienawidzę.
Musi istnieć jakaś różnica między tymi dwiema usługami - ale nie chcę całkowicie rozdzielać ich na części, żeby przekonać się o różnicy.
A similar question wcześniej otrzymałem odpowiedź "you cant do it" - co zdecydowanie nie jest prawdą, ponieważ ją mam - po prostu nie wiem, co zrobiłem inaczej.
Edytuj: Jestem teraz w sytuacji, w której regeneruję swoje proxy Silverlight 4 do mojej usługi 3.5 WCF (wszystkie na tej samej maszynie localhost), że czasami dostaję właściwości "Określone", a czasami nie. Nie myślę już (jak podejrzewałem pierwotnie), że jest to spowodowane jedynie pewną konfiguracją lub poziomem usług punktu końcowego [atrybut]. Istnieją pewne wyzwalacze w samym komunikacie, które powodują, że zostały wygenerowane (lub nie). Może być wiele czynników lub może to być bardzo proste.
I rzeczywiście mają 3 usługi, które nie są tworzenie określonych właściwościach. Tylko czwarta robi! –
Dodaj "[XMLSerializerFormat]" do atrybutów w usłudze: Sprawdź do tego [odpowiedź] (http://stackoverflow.com/questions/13396190/wcf-service-method-arguments-bool-specified) –