問題タブ [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.
wcf - Castle Windsor WcfFacility を使用してクライアント エンドポイントを作成する
3 つのアセンブリを作成しました。Web サイト、WCF サービス、およびサービスが実装するインターフェイスを保持するコントラクト アセンブリ。Castle Windsor を使用してクライアント (Web サイト) でサービスを作成し、使用するサービスごとに Web サイトの web.config にエンドポイントを設定する必要がないようにしたいと考えています。
コントラクト アセンブリを見て、名前空間内のすべてのサービス インターフェイスを取得したいと考えています。現在、すべてのサービスについて、コンポーネントをコンテナに登録するときに次のようなものがあります。
私のweb.configにはセットアップコードがあります。
結局、ほとんど同じように見える複数のサービス エンドポイントができてしまい、クライアント マシンに展開するときに、ベース URL がすべて同じであっても、すべてのエンドポイントのアドレスを設定する必要があります。
コードを介して取得した web.config にベース URL を設定し、コントラクト アセンブリのリフレクションを使用してサービスをコンテナーに登録したいと考えています。上記の構成ファイルにある特殊なエンドポイントの動作が必要です。
どこから始めますか?WcfFacility は良さそうですが、ドコはちょっと物足りない…
wcf - CastleWindsorでwcfサービスを登録します
Castleを使用していないときに正常に機能する非常にシンプルなサービスがあります(他のコードが正しいことを示しています)。svcファイルを次のように変更しました。
次のようにxmlを使用してサービスを登録します。
しかし、次のエラーが発生します。
なぜ登録されていないのか分かりますか??
- - アップデート - -
私はウィンザー構成でこれを持っています:
また、ReportingWebServiceは別のアセンブリで実装されています。
wcf - WCF機能を使用した操作動作の追加
私は初めてWCFファシリティを使用して、コンソールアプリ(簡単なデバッグ用)とIIS(本番用)の両方でいくつかのサービスをホストしています。サービスはnet.msmqエンドポイントを使用します。
これが私がコンソールアプリでサービスをホストしている方法です(簡略化):
そして、これが登録方法です:
私がやりたいのは、すべての操作に次の動作を追加することです。
これが私が試したことです:
ただし、例外が発生します。
何か案は?
wcf - IOC コンテナーを使用した WCF 属性の挿入
ASP.NET MVC を使用すると、FilterProvider を置き換えることができます。
独自のカスタム プロバイダーを使用する。ファクトリ パターンを使用してコントローラー フィルター属性を作成することはできませんが、プロパティ インジェクションを使用して、コンテナーを使用して属性に必要な依存関係を設定することはできます。
サービスメソッドで使用する属性から派生したユーザー定義クラスに依存関係を注入できるように (プロパティ注入は問題ありません)、WCF を使用して同様のことを行うことは可能ですか(サービスは IOC を使用して作成されます)。
私は CastleWindsors WcfFacility を使用していますが、一般化されたソリューション (すべてのコンテナーに適用される) の方がおそらくより良い答えになるでしょう。
c# - キャッスル WCF 施設 | Windows サービス ホスティング
自分の WCF プロジェクトで Castle WCF 統合機能を使用しようとしていますが、道に迷ってしまいました。助けてもらえますか?
したがって、ここに状況があります:
TCP 経由の Windows サービス内でホストされている WCF サービス ライブラリがあります。以下は、私の WCF Service Library にあるものです: Service Impl:
構成:
コンテナー構成これは WCF プロジェクト内にあり、すべてをキャッスルに登録しました (WCF サービスから登録する必要があるのか、WCF サービスをホストする Windows サービスから登録する必要があるのか 、wcf 機能をどこに登録する必要があるのか わかりません)。
以下は、私のWindowsサービスにあるものです:
そして、Windows サービスの構成 (app.config) は、文字通り行ごとに WCF サービスと同じです。
問題は、これを WCF 機能と一緒に配線するにはどうすればよいかということです。http と global.asax を使用した多くの例を見てきましたが、Windows サービスの例はありません。助けていただけますか?それへの適切なリンクでさえ役に立ちます。
ありがとう -マイク
c# - PerWebRequest ライフスタイルを持つオブジェクトの WcfService プロキシ依存関係のリリース ポリシー
PerWebRequest
PerThread ライフスタイルの wcf プロキシ依存関係を持つオブジェクトがある場合、コンテナーは
- a) コンテナーが親オブジェクトを自動解放した後、同じプロキシ インスタンスを使用しますか?
- b) PerWebRequest オブジェクトを解放すると、毎回プロキシが解放されますか?
a) の場合、漏れを避けるために明示的にサービスをリリースする必要がありますか、または b) の場合、これが注入される唯一の場所である場合、プロキシに PerThread を使用することには実際の利点がありますか?
c# - Castle WCF Integration Facility で PerWcfSession ライフスタイルを使用する
次のコードは、Castle Windsor 3.0 のWCF Integration Facilityを使用して、WCF セルフホステッド サービスを登録します。
WcfTestClient.exe を使用して SayHello メソッドを呼び出そうとすると、次のエラーが発生します。
コンポーネント SelfHost.PerSession のスコープを取得できませんでした。これは、カスタム IScopeAccessor のバグであるか、スコープ外のスコープ コンポーネントにアクセスしようとしている可能性があります (Web リクエストの外部にある Web リクエストごとのコンポーネントなど)。
PerWcfSession コンポーネントを使用する正しい方法は何ですか?
castle-windsor - ウィンザーWCF施設と型付き工場
私の質問は、Windsorが提供するWCFと型付きの工場施設に関するものです。私はIoCコンテナの概念、特に機能にまったく慣れていませんが、しばらく前に書いたプロジェクトを評価した後、それを調べ始めました。プログラムはn層であり、依存性注入がどこにでも実装されていないため、ユニットのテストはあまりできません。問題は、n層であるため、適切なDIを実行すると、5層下のように使用されるインスタンスの作成を最上位層が担当することになります。そこで私はIoCに目を向けました。
しかし、多くのSO記事や他のサイトを読んだ後、私は今、いくつかの問題に悩まされています。最初の主な問題の1つは、クラスをWCFサービスの物理的な実装から切り離すことでしたが、私はそれを次のように行いました。
ただし、使用IoC.Resolve<>()
すべきではなく、工場やWCF機能を使用して依存関係を排除する必要があること、IoC container
および一部の人々がアンチパターンと見なすサービスロケーターパターンであるということについて、複数の言及がありました。
私の問題はこれです:上記の3行のコードはほとんどすべての問題を解決しますが、適切なパターンに従うには、代わりにWCFファシリティ(型付きファクトリ)を作成する必要があります(このコードが使用されるクラスのインスタンスの提供を処理します) )とファクトリ用の新しいインターフェイス。これは、パターンを満足させるためだけに、過剰なエンジニアリングを行い、コードに不要な複雑さを追加しているように感じます。
質問1:私がここで見逃している基本的なものはありますか?
質問2:コードからわかるように、私はWebサービスの空でないコンストラクターを呼び出しています。WCF機能を実装した場合でも、これは簡単ですか?
質問3: Windsor wikiの説明は非常に簡潔で、あまり役に立たないことがわかったので、WCF機能の使用に関する適切なチュートリアルを教えていただけますか?
ありがとう
nhibernate - Transaction 属性の代わりにトランザクションを作成するためのカスタム サービス動作を使用して、Wcf サービスで Windsor NHibernateFacility を使用する
Wcf サービスで初めて Windsor NHibernate Facility を使用し、NHibernate の現在の手動登録を置き換えて、すべてのサービスで一貫したアプローチができるようにしようとしています。
現在の作業アプローチ
以前は、NHibernate コンポーネントを手動で登録していました。
その後、カスタム サービス ビヘイビアーを使用して、各操作のトランザクション スコープを作成および完了しました。
NHibernate 機能の統合
0.3.1.2001 アーティファクトをダウンロードし、以下のリソースを使用して、機能をプラグインし、NHibernate までの手動ワイヤを削除しようとしました。Transactional
ただし、サービスとメソッドをandTransaction
属性で装飾したくありません。以下は私の現在の配線です。
サービス エンドポイントの 1 つを呼び出すたびに、サービスは次の例外で失敗します。
解決タイプ「Juice.iCheque.eMoneySystem.Settlement.ISettlementService」のモデル「NHibernate.ISession」をインスタンス化しようとすると、コンテキストにトランザクションがありません。コール スタックに [Transaction] 属性を持つメソッドが含まれていることを確認した場合は、AutoTx 機能が登録されていることも確認してください。
問題はNHibernateFacility
、現在の実装で を使用し、Transaction
属性を使用しない方法です。
資力
http://richarddingwall.name/2010/08/17/one-nhibernate-session-per-wcf-operation-the-easy-way/
https://github.com/haf/Castle.Facility.NHibernate/wiki/NHibernate-Facility---クイックスタート
wcf - Castle WCF 統合機能
プロジェクトで Castle WCF 統合機能を使用しようとしています。城の公式サイトhttp://docs.castleproject.org/Windsor.WCF-Facility-Registration.ashxの指示に従いましたが、 うまくいきませんでした。これが私のコードと構成です。
上記のように、3 つの異なる方法でサービスを登録しようとしました。明確にするために、一度に 3 つの登録コードのうち 1 つだけを実行し、他のコードはコメントアウトしています。Castle.config から構成を取得するものは、私の castle.config です。
最後に、ここに私の web.config があります
助けてくれてありがとう...