Zasadniczo, mam typ "Foo" po stronie serwera z członkami X i Y. Ilekroć używam "Add Server Reference" Visual Studio, wtedy widzę WSDL i wygenerowany serwer proxy oba dołączają słowo "Field" do wszystkich członków i zmienić obudowę pierwszej litery. IE, "X" i "Y" są przemianowane na "xField" i "yField". Jakiś pomysł dlaczego tak się dzieje? Nie mogę wymyślić wzoru.Dlaczego WCF czasami dodaje "Pole" do końca generowanych typów proxy?
Szczegóły - Mam starszą usługę sieci ASMX, która udostępnia typ "Foo". Stworzyłem nową usługę WCF, która jest opakowaniem starej usługi sieciowej - nowa usługa po prostu opakowuje te metody i może aktualizuje wartości kilku pól, ale eksponuje dokładnie te same metody i zwraca dokładnie te same typy. Próbowałem wielokrotnie odtwarzać sędziów, a za każdym razem zawsze zmieniam moje pola: zmienna "STUFF" jest widoczna w pliku wsdl i proxy jako "sTUFFField". Zmienna "X" jest widoczna jako "xField", itp.
Zabawne jest to, że nie mogę wymyślić wzoru - próbowałem stworzyć nową usługę sieciową ASMX jako test i opakowanie - zmienne nie są zmienione następnie. Tak więc nie mogę znaleźć schematu dlaczego/kiedy WCF zmienia nazwy zmiennych.
Ktoś wie?
Czy to ma znaczenie? Jeśli tak, to czy to ma znaczenie? –
To ma znaczenie. Mam dwa przypadki użycia (dla użytkowników wewnętrznych i zewnętrznych). Użytkownicy wewnętrzni mogą ominąć moją usługę opakowania i przejść bezpośrednio do podstawowej usługi (pomijając potrzebę zalogowania się). Zewnętrzni użytkownicy muszą przejść przez usługę opakowania i podać jej hasło itp. Ale ponieważ usługi wewnętrzne i zewnętrzne podają obecnie różne nazwy pól, nie mogę udostępnić tego samego kodu, aby rozmawiać z obiema usługami. Muszę napisać różne wersje kodu dla każdej usługi. – tavistmorph