Czy możemy przekazać zbiór danych do metody usługi sieciowej? Jeśli tak, to w jaki sposób?Czy możemy przekazać zbiór danych do metody usługi sieciowej? Jeśli tak, to w jaki sposób?
Odpowiedz
IIRC, "tak" (wystarczy parametr DataSet
), ale także "nie powinieneś"; podczas gdy .NET może wiedzieć, jak ją przetwarzać, usługi internetowe mają być interoperacyjne w oparciu o encje xml; a DataSet
(nawet w przypadku serializacji jako xml) jest tak daleko od tego, co można uzyskać. IMO byłoby lepiej napisać kilka podstawowych klas, które reprezentują twój model, i wystawić te do usługi internetowej, ponieważ mogą one być odpowiednio reprezentowane w xsd dla celów SOAP.
Przekazywanie zestawu danych do usługi sieciowej nie jest dobrym pomysłem. Zamiast tego należy użyć metod ReadXML lub WriteXML DataSet, aby przekazać dane do usługi sieciowej i przeczytać je na końcu usługi.
Edit: Jeśli to możliwe utworzyć oddzielne klasy jako Marc Grawell powiedział, jeśli nie jest to możliwe dla ciebie (co jest rzadkim przypadkiem) to można użyć powyższych metod do przekazywania danych na lepsze podejście niż przechodząc bezpośrednio DataSet.
Marc ma rację co do zestawu danych. Jest to prawdopodobnie jedna z najgorszych zasad projektowania, jakie możesz wykonać. Jednak nie powinieneś budować swoich datacontract w sposób, w jaki reprezentujesz model. Budowane wiadomości SOAP powinny być zdefiniowane jako wiadomości. Nie wysyłasz obiektów przez przewód, ale wiadomości SOAP. Następnie możesz użyć jednego z modeli obiektów, który został zawarty w tym komunikacie, ale nie wysyłaj go jako samego obiektu.
Oparte na komunikatach roboczych umożliwia lepszą kontrolę nad nagłówkami i usterkami zabezpieczeń.
Uwaga dodatkowa: powyższe dotyczy głównie WCF; oprzyrządowanie itp. dla * vanilla * serwisów WWW asp.net jest o wiele mniej potężne –
Tak, faktycznie, można to zrobić tylko za pomocą solidniejszego framewru takiego jak WCF. –
- 1. Tworzenie metody asynchronicznej usługi sieciowej
- 2. Jaki jest najlepszy sposób na wprowadzenie logowania do usługi sieciowej?
- 3. Czy Web RTC może być użyty na iPhonie, a jeśli tak, to w jaki sposób?
- 4. W jaki sposób możemy automatycznie uruchomić metody testowania w .net?
- 5. Czy klasy szczelne są egzekwowane w Javie, a jeśli tak, to w jaki sposób?
- 6. Czy Forth jest nadal w użyciu? Jeśli tak, to w jaki sposób i gdzie?
- 7. Czy można użyć zdarzenia click w chmurze tagów D3 i jeśli tak, to w jaki sposób?
- 8. Jaki jest najlepszy sposób zwracania dużych porcji danych binarnych z usługi sieciowej?
- 9. Czy można wyśrodkować element wbudowanego bloku, a jeśli tak, to w jaki sposób?
- 10. Czy mogę odszyfrować wyjątek C++ z wyjątku Windows SEH? (? A jeśli tak, to w jaki sposób)
- 11. TensorFlow: w jaki sposób zdefiniowano zbiór dataset.train.next_batch?
- 12. Czy możliwe jest wycofanie niektórych wartości wyliczenia Java, a jeśli tak, to w jaki sposób?
- 13. Czy istnieje typ danych UID w SQLite Jeśli tak, to w jaki sposób generować wartość dla tej
- 14. Rekompilacja RTL - jeśli to możliwe, to w jaki sposób?
- 15. Czy Automapper może być użyty do powiązania wystąpień klas z WinFormami, a jeśli tak, to w jaki sposób?
- 16. Co to jest dobre narzędzie do testowania usługi sieciowej SOAP?
- 17. Czy możemy przekazać parametry do widoku w SQL?
- 18. Sposób sprawdzania, czy element ma trzy określone klasy, a jeśli tak, to czy jest to
- 19. Dodawanie OAuth do usługi sieciowej Scalatra
- 20. Jaki jest właściwy sposób obsługi skryptu autokonfiguracji proxy w celu wywołania usługi sieciowej w .net?
- 21. Co to jest dobry zbiór danych do reprezentowania wyścigów konnych?
- 22. Dlaczego model laravel powiela zbiór danych i jak (jeśli to możliwe) mieć tylko jeden zestaw danych?
- 23. Co to jest mocno typowany zbiór danych?
- 24. Czy setprecision w C++ round? Jeśli tak, dlaczego to widzę?
- 25. Jak przekazywać dane uwierzytelniające użytkownika do usługi sieciowej?
- 26. W jaki sposób można przekazać wiadomości sprawdzania poprawności warstwy usługi do osoby dzwoniącej?
- 27. Czy istnieje sposób dodawania bloków do NSOperationQueue, tak jak to
- 28. Wywołanie usługi sieciowej z C++
- 29. Prześlij dane ArrayList do usługi sieciowej SOAP w Androidzie
- 30. Czy metoda równań działa z obiektami? Jeśli tak to jak?
+1 nie wszystko, co technicznie możliwe jest również dobrym pomysłem ... –
+1 choć napisałem moją odpowiedź do korzystania ReadXml i WriteXML metod ale nadal pójdzie z odpowiedzią do wykorzystania oddzielne klasy przekazywać dane. – JPReddy
@Marc Gravell: jak mogę przekazać dataset z Androida do usługi mydła są jakieś za to? –