問題タブ [wcffacility]

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.

0 投票する
3 に答える
480 参照

c# - ConcurrencyMode の変更

Castle Windsor WCF Facility を使用しています。ドキュメントは言う:

WCF アクティベーションから Windsor の WcfFacility に切り替える場合は、サービス タイプから ServiceBehavior 属性を必ず削除してください。

次に、同時実行モードを制御するにはどうすればよいですか?

バニラ WCF では、次のようにします。

WCF ファシリティでは同時実行モードが Single に設定されているようで、それを変更する方法が見つかりません。

編集: クライアントは非同期で BeginFoo メソッドを呼び出し、呼び出しはクライアント側でブロックされません。Logging を BeginFoo メソッドの最初と最後に配置しました。ログは、サーバー呼び出しが一度に一度だけ BeginFoo メソッドに出入りすることを示しています。

次のクライアント呼び出しは魔法のようにキューに入れられます。

0 投票する
1 に答える
578 参照

wcf - Castle Windsor WCF Facility すべてのクライアントをカスタム ClientModel に登録する

Windsor に WCF クライアントとして登録したい一連のインターフェイスがあり、それらすべてで WCF 検出を使用してエンドポイントを見つけます。私はこれと同じくらい簡単なことをしたいと思っていました:

WcfDiscoveryClientModel は次のように定義されています。

しかしもちろん、コードWcfDiscoveryClientModelが実行されることはありません。DefaultClientModelファシリティ ソースを見ると、引数に何かを渡さない限り、これまでしか使用されないように見えますResolve()。引数として何を渡すかは完全にはわかりませんが、これらのクライアントは Web アプリで使用されるため、そのルートは避けたいと思います。

だから、私の質問は: デフォルトのクライアント モデルの選択をオーバーライドする最良の方法は何ですか?

0 投票する
0 に答える
387 参照

c# - C# - Castle WCF ファシリティ - クライアント側の OperationBehavior + WcfEndpoint.FromEndpoint の使用を適切にセットアップする方法

私は wcf 機能で遊んでいて、DataContractResolver をセットアップしようとしていましたが、例が見つかりませんでした...

最後に、私はそれを機能させます..これが大丈夫かどうかはわかりません..

質問

  1. (以下のコード) これは動作構成を達成する正しい方法ですか、それとも何か誤解していますか?

  2. また..機能させるために非同期を無効にする必要がありました..それはライブラリのバグ/問題ですか?

研究の前に持っているといい他のもの..

  1. 私は、wcf ファシリティ インターセプトのパフォーマンスへの影響と、それを使用する利点について本当に考えていました。何かご意見は?

  2. このライブラリが更新されなくなったのはなぜですか?


だから私は(wcf機能のデバッグ)WantsAsyncCapability = trueの場合、DefaultClientModelはすべてのServiceEndpointの動作をコピーするのではなく、エンドポイントの動作だけをコピーしていることに気付きました(trueはデフォルト設定です)ので、ここで..

次に、ReplaceServiceEndpointAsyncContracts で ServiceEndpoint を再作成しています

上記は、契約または操作の動作がコピーされていないことがわかります。

それだけです、ありがとう。

0 投票する
1 に答える
1237 参照

signalr - Castle Windsor が「スコープ キャッシュは既に破棄されました」をスローします。SignalR ハブで

に基づいて Web アプリケーションを開発しています。

  • .NET 4.5.1
  • MVC 5.2.2
  • オーウィン
  • WebAPI 2.2
  • シグナルR 2.2.0
  • Castle.Windsor 3.3.0
  • Wcf 統合機能 3.3.0

コントローラーを解決するために、以下のページで説明されている ControllerFactory クラスを使用します: http://docs.castleproject.org/Windsor.Windsor-tutorial-part-two-plugging-Windsor-in.ashx

依存関係を解決するために、WindsorDependencyResolver クラスを使用します。

Windsor コンテナーを使用して SignalR の IHub クラスを解決しないことに注意してください。それらはパイプラインで OWIN システムによってインスタンス化されます。Startup.cs コードを以下に示します。

すべてのコントローラー、wcf サービス クライアント、およびインターセプター (ロギング クラスを除く) は、プロジェクトの LifestylePerWebRequest に登録されます。ただし、ロギングに使用するクラスはシングルトンです。

以下の Web.config に設定があります。

そのため、SignalR ハブで wcf クライアント (Web 要求ごとのライフスタイルを持つ) を解決しようとすると、以下の例外が発生します。

Container.Resolve() メソッドを呼び出す前に、デバッガー ウィンドウに HttpContext が表示されます。ちなみに、シングルトン ロギング クラスは解決できます。

興味深い点は、私のチームメイトに例外がないことです。主な違いは、OS のバージョンです。私は Windows 8.1 でコードを実行し、チームメイトは Windows 7 で実行します。

この例外は、シグナル ハブでのみ発生します。他の場所では例外はありません。どうすればこの問題を解決できますか?

0 投票する
0 に答える
215 参照

c# - ウィンザー城の WcfFacility によって作成された wcf プロキシに runtimeknown プロパティを追加する

Castle Windsor の優れた wcf 機能を使用して、クライアント プロキシを作成しようとしています。ただし、カスタム プロパティを追加する機能を利用する場合、OperationContextScope にアクセスする必要があります。私のアプローチは実行時に次のエラーで失敗します:無効な IContextChannel が OperationContext に渡されました。サーバー ディスパッチ チャネルまたはクライアント プロキシ チャネルのいずれかである必要があります。これは、以下に示すように、コードが using ブロックに入ったときに発生します。この作業を行う方法についてのアドバイスは大歓迎です。

コンテナのセットアップ:

プロキシの呼び出し:

0 投票する
0 に答える
31 参照

c# - 1 つのコンポーネントの複数の拡張子

次のインストーラーがあります。

特定の場所でのみ解決されるように、同じサービスを別の拡張子で登録するにはどうすればよいですか?