問題タブ [instancecontextmode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF の WSDualHttpBinding が応答しない
WPF アプリケーションでのみWCF WSDualHttpBinding を使用すると問題が発生します。変更前は、この WCF が機能していました。今は機能していません。ServiceBehaviour (ConcurrencyMode および InstanceContextMode) のみを次のように変更しました。
その後、WCF が応答しません。例外の詳細を参照してください。何か案は?
編集
c# - WCF サービスの PerCall InstanceContextMode の動作
私はbasicHttpBindingでServiceContractを公開するWCFサービスを持っているので、私の理解では、InstanceContextModeはPerCallに設定され(basicHttpBindingはセッションをサポートしていないため)、ConcurrenyModeはSingleに設定されます。
この WCF のクライアントは Windows サービスであり、サービス上で同時に 4 つの異なる操作を呼び出します。サービス内ではシングルトン クラスを使用しており、静的変数はほとんどありません。一部の DB ストアド プロシージャに間違った値が渡されるという問題に直面しています。
PerCall InstanceContextMode と Single 同時実行モードでは、呼び出しごとに新しいサービス インスタンスが作成されることを理解しています。そのため、サービス実装と静的変数にいくつかのシングルトン クラス (スレッド セーフにはしていません) があるにもかかわらず、オブジェクトは破棄されますが、古い値が DB に渡される SQL プロファイラーを実行していることが確認されています。
WCF サービス コードを一種の 3 層アーキテクチャ、つまり ServiceClass、BusinessLogicLayer、および DataAccessLayer で記述しました。PerCall を instanceContextMode として設定し、クライアント リクエストが終了した後にサービス インスタンスが破棄されると言いましたが、すべてを破棄するということですか? ServiceClass、BusinessLogicLayer、および DataAccessLayer のオブジェクト?
何が問題なのかを理解するのを手伝ってください
c# - WCF Service を一度に 1 つの呼び出しだけにする方法
次のようなWCFサービスがあります
新しいプロキシで OperationA/B/C/D の上のすべての操作を呼び出す Windows サービスである、この WCF サービスのクライアントがあります。
現在の実装では、すべての操作を同時に呼び出すクライアントに問題があります。
InstanceContextMode = PerCall および ConcurrencyMode = Single
サービスを変更して一度に 1 つのリクエストのみを受け取ることができる InstanceContextMode と CONcurrency の組み合わせはありますか? つまり、クライアント プロキシ A が OPerationA を呼び出し、サービスがリクエストを処理しており、クライアント プロキシ B が OperationB を呼び出そうとした場合 (または他の操作)、最初のリクエストが完了するまでブロックする必要があります。
ありがとう