1

Webサービス呼び出しはデフォルトで同期または非同期ですか?同期性は、サービスまたはクライアントによってどのように決定されますか?

私は次のようなコードを持っています:

try
{
    string result = MakeWebServiceCall_1(); // this is a third party webservice
    MakeWebServiceCall_2(result); // another webservice which must happen *after* the first one is complete
}
catch()
{
    SetStatus(Status.Error); // this calls my own stored procedure
    throw;
}
SetStatus(Status.Sucess);

上記でSetStatusは、サードパーティのWebサービスが読み取るのと同じテーブルに書き込んでいます。両方のWebサービス呼び出しが完了する前にステータスを変更すると、大きな混乱が発生し、解雇されます。Webサービス呼び出しが同期していることをどのように確認/確認できますか?

4

1 に答える 1

2

MSDNによると、Webサービスへの参照を追加すると、プロキシクラスで同期と非同期の両方でWebサービスを呼び出すメソッドが実装されます。あなたはあなたが正しいものを呼ぶことを確認する必要があります。

[Web参照の追加]ダイアログボックスを使用してアプリケーションがアクセスするXMLWebサービスを見つけたら、[参照の追加]ボタンをクリックすると、Visual Studioにサービスの説明をローカルマシンにダウンロードして、選択したXMLのプロキシクラスを生成するように指示します。ウェブサービス。プロキシクラスには、公開されている各XMLWebサービスメソッドを同期的および非同期的に呼び出すためのメソッドが含まれます。 ソース

于 2010-07-29T09:03:06.163 に答える