0

約 1 年前に ASP.NET スクリプトを購入して、FedEx の送料を取得しました。HttpWebRequest を使用して FedEx サーバーに渡す XML 文字列を構築し、生の XML を解析します。スクリプトの平均応答時間は約 900 ミリ秒です。

そこで先日、FedEx デベロッパー センターをうろついていたところ、Web サービスを使用するための C# コード サンプルがいくつか提供されていることがわかりました。彼らのコードと WSDL ファイルを使用して小さなプロジェクトを作成したところ、平均応答時間が約 2.5 秒であることに驚きました。

誰かが速度の違いを理解するのを手伝ってくれますか? そして、それをより速くする方法はありますか?Web サービスを使用した経験はありません。

ありがとう。

4

2 に答える 2

1

Web サービスには、検証と、余分な冗長性を追加する「SOAP エンベロープ」と呼ばれるもののために、XML over HTTP 呼び出しに関していくらかのオーバーヘッドがあります。

とはいえ、それが原因で応答時間が長くなるとは思いません。合理的な比較ポイントを得るために、XML over HTTP バージョンを今日実行してみましたか? サイトが忙しいだけかもしれません。

もう 1 つの説明は、不適切なコーディングである可能性があります。あなたは、決して知らない。

于 2008-09-15T20:52:47.210 に答える
1

ASP.NET スクリプトは、C# コードとは異なる処理を行っている可能性があります。生の HTTP リクエストをそれぞれキャプチャして再生してみてください。彼らは同じことをしますか?その場合、クライアント コードの違いである可能性があります。私の推測では、1 つは単純な HTTP get/post 要求であり、もう 1 つは SOAP over HTTP(s) です。

その他の注意点: 1) ASP.NET の運用と C# のテスト システムに取り組んでいますか、それとも両方とも運用していますか? 2) 両方が HTTPS 経由であると仮定します。

通常、SOAP ベースの Web サービスはもう少し「重い」ものです。特に、リクエストが WS-* や署名などを行う場合は特にそうです。 ?

上記のいくつかの基本事項への回答に応じて、この議論はさまざまな方法で進む可能性があります。

于 2008-09-15T20:54:23.680 に答える