Webサービスが非同期であるとはどういう意味ですか?これは、Ajaxで呼び出すときにのみ使用され、Webサービスが完了すると更新されるページの一部がありますか?ありがとうございました。
問題は、非同期のWebサービスなのか、それともアクセスできるのかということです。 Webページのコンテキストでは、サービスは同期的である可能性が高くなりますが、非同期的にアクセスされています。
おそらく、サービスはAJAX経由で呼び出されています。サービスへの呼び出しが行われ、ページが続行されます。応答が到着すると、成功または失敗のいずれかの関数が非同期で実行されます。
これは古いトピックですが、Webサービスが同期か非同期かはWebサービスの設計に依存し、Ajaxとは関係ありません。非同期Webサービストランザクションは次のように進行します。
非同期Webサービスの開発 または 方法:非同期Webサービスメソッドの作成 を参照してください
同期とは、Webサービス(または関数など)を呼び出して、それが戻るまで待つことを意味します。呼び出しが戻るまで、他のすべてのコード実行とユーザー操作は停止します。非同期とは、Webサービス呼び出しが戻るのを待っている間、他のすべての操作を停止しないことを意味します。他のコードが実行されたり、ユーザーがページ(またはプログラムUI)と対話し続けることができます。
したがって、Webサービス自体が非同期であるとは言いません。サービスへのajax呼び出しは非同期であると言います。
同期Webサービスを呼び出すと、サービスはリクエストを処理し、HTTPステータスコード200 OK(1)を返します。すべてが期待通りに進んだ場合、またはエラー4xx。呼び出しは処理中および要求中にブロックされ、かなりの時間がかかる場合があります。
Webサービスが非同期の場合の主な違いは、呼び出しがHTTP 202 ACCEPTED(2)で即座に返されることです。つまり、要求はキューで取得されますが、まだ処理されません。
(1)200 OK http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.1
(2)202 ACCEPTED http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.
非同期Webサービスを使用すると、クライアントは要求を送信し、要求を処理し、一定時間後にクライアントに応答できます。クライアントは、応答の受信時にすべてのアクティビティをブロックしません。
それに比べて、同期的なWebサービスはクライアントに直接応答を提供し、応答が返されるまでクライアントがすべてのアクティビティをブロックすることを期待します。この場合、Webサービスはクライアントがリクエストを1つずつ処理するように制限します。