問題タブ [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 投票する
1 に答える
8635 参照

wcf - Castle Windsor WcfFacility を使用してクライアント エンドポイントを作成する

3 つのアセンブリを作成しました。Web サイト、WCF サービス、およびサービスが実装するインターフェイスを保持するコントラクト アセンブリ。Castle Windsor を使用してクライアント (Web サイト) でサービスを作成し、使用するサービスごとに Web サイトの web.config にエンドポイントを設定する必要がないようにしたいと考えています。

コントラクト アセンブリを見て、名前空間内のすべてのサービス インターフェイスを取得したいと考えています。現在、すべてのサービスについて、コンポーネントをコンテナに登録するときに次のようなものがあります。

私のweb.configにはセットアップコードがあります。

結局、ほとんど同じように見える複数のサービス エンドポイントができてしまい、クライアント マシンに展開するときに、ベース URL がすべて同じであっても、すべてのエンドポイントのアドレスを設定する必要があります。

コードを介して取得した web.config にベース URL を設定し、コントラクト アセンブリのリフレクションを使用してサービスをコンテナーに登録したいと考えています。上記の構成ファイルにある特殊なエンドポイントの動作が必要です。

どこから始めますか?WcfFacility は良さそうですが、ドコはちょっと物足りない…

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

wcf - CastleWindsorでwcfサービスを登録します

Castleを使用していないときに正常に機能する非常にシンプルなサービスがあります(他のコードが正しいことを示しています)。svcファイルを次のように変更しました。

次のようにxmlを使用してサービスを登録します。

しかし、次のエラーが発生します。

なぜ登録されていないのか分かりますか??

- - アップデート - -

私はウィンザー構成でこれを持っています:

また、ReportingWebServiceは別のアセンブリで実装されています。

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

wcf - WCF機能を使用した操作動作の追加

私は初めてWCFファシリティを使用して、コンソールアプリ(簡単なデバッグ用)とIIS(本番用)の両方でいくつかのサービスをホストしています。サービスはnet.msmqエンドポイントを使用します。

これが私がコンソールアプリでサービスをホストしている方法です(簡略化):

そして、これが登録方法です:

私がやりたいのは、すべての操作に次の動作を追加することです。

これが私が試したことです:

ただし、例外が発生します。

何か案は?

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

wcf - IOC コンテナーを使用した WCF 属性の挿入

ASP.NET MVC を使用すると、FilterProvider を置き換えることができます。

独自のカスタム プロバイダーを使用する。ファクトリ パターンを使用してコントローラー フィルター属性を作成することはできませんが、プロパティ インジェクションを使用して、コンテナーを使用して属性に必要な依存関係を設定することはできます。

サービスメソッドで使用する属性から派生したユーザー定義クラスに依存関係を注入できるように (プロパティ注入は問題ありません)、WCF を使用して同様のことを行うことは可能ですか(サービスは IOC を使用して作成されます)。

私は CastleWindsors WcfFacility を使用していますが、一般化されたソリューション (すべてのコンテナーに適用される) の方がおそらくより良い答えになるでしょう。

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

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 サービスの例はありません。助けていただけますか?それへの適切なリンクでさえ役に立ちます。

ありがとう -マイク

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

c# - PerWebRequest ライフスタイルを持つオブジェクトの WcfService プロキシ依存関係のリリース ポリシー

PerWebRequestPerThread ライフスタイルの wcf プロキシ依存関係を持つオブジェクトがある場合、コンテナーは

  • a) コンテナーが親オブジェクトを自動解放した後、同じプロキシ インスタンスを使用しますか?
  • b) PerWebRequest オブジェクトを解放すると、毎回プロキシが解放されますか?

a) の場合、漏れを避けるために明示的にサービスをリリースする必要がありますか、または b) の場合、これが注入される唯一の場所である場合、プロキシに PerThread を使用することには実際の利点がありますか?

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

c# - Castle WCF Integration Facility で PerWcfSession ライフスタイルを使用する

次のコードは、Castle Windsor 3.0 のWCF Integration Facilityを使用して、WCF セルフホステッド サービスを登録します。

WcfTestClient.exe を使用して SayHello メソッドを呼び出そうとすると、次のエラーが発生します。

コンポーネント SelfHost.PerSession のスコープを取得できませんでした。これは、カスタム IScopeAccessor のバグであるか、スコープ外のスコープ コンポーネントにアクセスしようとしている可能性があります (Web リクエストの外部にある Web リクエストごとのコンポーネントなど)。

PerWcfSession コンポーネントを使用する正しい方法は何ですか?

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

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機能の使用に関する適切なチュートリアルを教えていただけますか?

ありがとう

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

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---クイックスタート

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

wcf - Castle WCF 統合機能

プロジェクトで Castle WCF 統合機能を使用しようとしています。城の公式サイトhttp://docs.castleproject.org/Windsor.WCF-Facility-Registration.ashxの指示に従いましたが、 うまくいきませんでした。これが私のコードと構成です。

上記のように、3 つの異なる方法でサービスを登録しようとしました。明確にするために、一度に 3 つの登録コードのうち 1 つだけを実行し、他のコードはコメントアウトしています。Castle.config から構成を取得するものは、私の castle.config です。

最後に、ここに私の web.config があります

助けてくれてありがとう...