Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 16868|Odpowiedź: 0

[WCF/Web Servics] Operacja 'xxx' nie mogła zostać załadowana, ponieważ ma parametr lub retu...

[Skopiuj link]
Opublikowano 20.07.2016 10:59:59 | | |
Operacja 'xxx' nie mogła być załadowana, ponieważ ma parametr lub typ zwrotu typu System.ServiceModel.Channels.Message lub typ zawierający MessageContractAttribute i inne parametry różnych typów. Przy użyciu System.ServiceModel.Channels.Message lub typów z MessageContractAttribute, metoda nie może używać innych typów parametrów.

Napisałem interfejs do przesyłania plików w WCF i chcę zwrócić wynik przesyłania, interfejs wygląda następująco:



W tym momencie przebieg zgłasza błąd, jeśli zostanie zapisany w następujący sposób:



Błędy będą również zgłaszane podczas uruchamiania!!!

Jak już wcześniej wspomnieliśmy, co to jest duplexing, to jest wymiana zdań, prawda? Tak, powyższa metoda ma parametry wejściowe i wartości zwrotne, są przyjścia i odchody, jest to duplex, czemu nie?

Haha, problem polega na tym, że używamy protokołu wiadomości, na tym założeniu naszej metody nie można zdefiniować przypadkowo, używając metody protokołu wiadomości, jeśli:

a. Jeśli kontrakt wiadomości jest używany jako parametr przychodzący, może istnieć tylko jeden parametr, a następujące definicje są nieprawidłowe:

unieważnienie Reconcile(BankingTransaction bt1, BankingTransaction bt2);

b. Jeśli nie zwrócisz void, jeśli nie, musisz zwrócić kontrakt wiadomości, bool UpLoadFile(TransferFileMessage tMsg) Nasza definicja oczywiście nie spełnia wymagań.

Jak więc to rozwiązać? Musimy zdefiniować inny kontrakt na powrót wiadomości.


Mówiąc ogólnie, nie możesz używać bool, string itd. jako wartości zwrotnych, możesz ustawić void no return value.

Zastanawiam się jednak, co jeśli istnieje wartość zwrotu???? Rozwiązanie jest następujące:









Poprzedni:Błąd WCF: 413 Za duża jednostka żądania
Następny:Przesyłanie pliku implementacyjnego WCF ma wartość zwrotną do pobrania demo
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com