開発者がウェブサービスでList<T>
を返すことができないことを知っているので、リストを返すことができるのは、それらを.ToArray()に変換することだけです。私はいくつかを検索しましたが、効果的な答えを得ることはできませんなぜWebサービスを使用してリストを返すことができないのですか?なぜ我々はそれらを変換する必要がありますToArray(); ?ASMX Webサービスでリスト<T>が返されないのはなぜですか?
答えて
Webサービスは、多くの言語と相互運用可能であると考えられています。ほぼすべての言語に配列がありますが、.NETだけがList<T>
の実装を使用しています。
言語標準のために、あなたはArrayを主に使用していますか? –
Webサービスを呼び出すコードが.NETではない可能性があるため、Webサービスでは.NETの種類のみをデフォルトで使用することはできません。 Stefan Pが指摘しているように、WCF(asmxではない)Webサービスでは、クライアントが.NETであることを指定できます。この場合、 'List
あなたの答えは理にかなっています。あなたは正しいですが、私の意見では、リスト
Webサービスの相互運用性の設定によりますが、int[]
のようなオブジェクトは、.NET以外の言語では理解しやすく、List<int>
です。 WCFのWebサービスを開発する場合は、返品タイプとしてList<T>
がサポートされています。
答えはJoel Muellerの答えです。 –
ウェブサービスに記載されているものは「コレクション」です。使用する "コレクション"のタイプを決定するのはクライアントの責任です。クライアントの.Netがサービス参照を追加するときに[詳細]をクリックすると、汎用リストを選択できます。
List<T>
をASMX Webサービスから返すことを妨げるものは何もありません。なぜあなたはそれを信じるのか分かりません。
XMLスキーマ(WSDLで使用されている)がそれ自体「リスト」を記述することができないことは、あなたが混乱している可能性があります。実際、配列を記述することはできません。一連の反復要素を記述することができます。配列を含むすべてのコレクションは、反復要素のセットとして返されます。
クライアント側では、クライアントはサーバーがList<T>
,T[]
、またはIEnumerable<T>
を返したかどうかを知る方法がなく、気にする必要もありません。
明示的に宣言している限り、List(of T)メソッドのタイトルを返す限り、オブジェクトを返すことができます。そうしないと、シリアライズエラーが発生します。
例えば
<WebMethod()> _
Public Function Search(ByVal SearchTerm As String) As List(Of 'object here')
- 1. サービスでデータが返されないのはなぜですか?
- 2. 静的メソッドをASMX WebサービスのWebサービス操作として使用できないのはなぜですか?
- 3. イメージを返すASMX Webサービス
- 4. Webサービスがnullを返すのはなぜですか?
- 5. なぜ "return list.sort()"がリストを返さないのですか?
- 6. リストがPHPでレンダリングされないのはなぜですか?
- 7. Topshelfサービスが開始されないのはなぜですか?
- 8. Spring BeanがCXF Webサービスに注入されていない、なぜですか?
- 9. 返すカスタムオブジェクトウィッヒは、<リストを実装> Webサービスで
- 10. Webサービスが呼び出されたときにAndroidコードが返されない
- 11. ASMX Webサービス - SoapHttpClientProtocol.InvokeAsync
- 12. リスト<Country>は、WebサービスでCountry []になります
- 13. なぜ、subprocess.Popen(...)が返されないのですか?
- 14. なぜASP.NET JSON Webサービスが結果を 'd'で返すのですか?
- 15. ASMX Webサービスのデバッグ
- 16. asmx Webサービスを.net 2.0で実行していない場合、iisなしで
- 17. Exchange Webサービス:Item Idが一定でないのはなぜですか? [続き]
- 18. Regex Groupが返されているのはなぜですか?
- 19. サービス接続がonResumeで呼び出されないのはなぜですか?
- 20. WCFサービスでエンティティモデルが使用されないのはなぜですか?
- 21. このMySQLクエリで結果が返されないのはなぜですか?
- 22. IList <T>がnullオブジェクトのリストとして返されるのはなぜですか?
- 23. サーバが何も返さないのはなぜですか?
- 24. getLastRequestが何も返さないのはなぜですか?
- 25. show 0001が "0001"を返さないのはなぜですか?
- 26. CUPSがデフォルトプリンタを返さないのはなぜですか?
- 27. SignalProducerがシグナルを返さないのはなぜですか?
- 28. InterlockedCompareExchangeが変更された値を返さないのはなぜですか?
- 29. クエリで結果が返されないのはなぜですか?
- 30. VB.NET Webアプリケーションプロジェクトでコードビハインドファイルが表示されないのはなぜですか?
Webサービスのどのような種類を作成していますか?つまり、どの技術を使用していますか? WCF? ASMX? – Gabe
@Gabe私はasmxでないことを意味しますwcf –