SAPからXMLフィードを受け取り、数万(またはそれ以上)のレコードが処理されるWCFサービス(IIS 6.0でホストされている)があります。WCFサービスの最大パラメータサイズ
[OperationContract]
[FaultContractAttribute(typeof (ArgumentException))]
void ProcessSapRoles(XElement SapData);
私はパラメータサイズの制限について懸念しています。その他のSOの記事から、私はをhttpRuntime
に設定してweb.configでこれを助けることを読んでいます(私はsend timeoutを増やす必要があると確信しています)。また、NetTcpBindingを使用すると、これを使用する際の制限や設定方法がわからなくても役に立ちます。
発信者にレコードごとに100,000回のコールを発信させることができますが、パフォーマンスの影響は重大であると思います。また、反対側では、既存のレコードを照会して、レコードを更新または追加しているかどうかを確認し、更新をデータベースに送り返す必要があります。 1レコードにつき100,000件の個別のクエリに対して100,000個のデータセットを作成することは、同様に窮地に見えます。
Pre-WCFでは、リモーティングチェーンで圧縮シンクを使用しましたが、が大幅に改善されました(最大のデータセットを送信すると、20分後にWebページのタイムアウトが発生しました;圧縮シンクを追加した後、データセットは、約20秒で)(そして、顧客は大きなデータセットを作る責任がありました。私たちはそれらを制御できませんでした:P)。
潜在的に100,000レコードを渡すのをどのように処理するのが最善で、WCFの圧縮シンクと同等のコンセプトはありますか?
TIA!
James
NetTcpBindingのアプローチをもっと見る...次の数日で回答を選択します –