問題タブ [ninject-extensions]
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.
ninject - ニンジェクトインターセプト
どの dll から Intercept の拡張子を取得できますか? http://github.com/danielmarbach/ninject.extensions.interceptionから Ninject.Extensions.Interception を追加しまし た。いくつかのサンプルが動作していますか?
私が必要とするのは、WcfClient から WcfServer へパススルーするインターセプターを、異なるパラメーターを持つ異なる関数にすることです。そうすれば、既に実装されている関数を WcfServer コードの背後に実装する必要がなくなります。したがって、私が既に実装した関数の署名は -
それが行うことは、BlClass によってメソッドをアクティブ化し、それに ParamList を送信することです。WcfServer 側に対処しながらパラメーターを動的に入力するインターセプターを作成したいと思います。しかしまず、ninjectModule で Intercept 拡張機能にアクセスするにはどうすればよいでしょうか?
あなたが提供できる助けを前もって感謝します:)
ps試してみました:
と:
ninject - Ninject: Silverlight でメソッドがインターセプトされない
Silverlight アプリの DI には Ninject を使用しています。今、傍受を実装しようとしていて、問題が発生しています。私の方法は傍受されていません。以下はサンプル実装です
App.xaml --> Application_Startup イベントで、バインドを行い、傍受されると予想されるメソッドを呼び出します。
ViewModel の実装:
LockUI 属性:
LockUIInterceptor の実装:
GlobalEventManager の実装:
Castle.Core、Castle.DynamicProxy2、Ninject、Ninject.Extensions.Interception、Ninject.Extensions.Interception.DynamicProxy2 への参照を追加しました。
誰か助けてください。ありがとう
ninject - ninject mvc と wcf
Ninject には mvc と wcf の拡張機能がありますが、この場合、mvc アプリケーションは wcf もホストしています。両方を使用するにはどうすればよいですか。両方のエクステンションが httpapplication(global.aspx) の基本クラスを提供しているようです。
それを使用する正しい方法は何ですか?
現時点では、両方を機能させるには、wcf エクステンションから断片を取得し、それを mvc エクステンションに配置する必要があるようです。
dependency-injection - Ninject.Web.MvcアドオンがASP.NETMVC2で機能しない
Ninject.Web.Mvc
ASP.NET MVC 2で(MVC 2バージョン)アドオンを使用しています。これは私の抜粋ですGlobal.asax.cs
:
私もベースを持っていますRepositoryController
:
ご覧のとおり、これは非常に単純なセットアップでありRepositoryController
、のインスタンスが注入されることを期待しておりIRepository
、Ninjectはの具体的なインスタンスを使用するように構成されていますNHibernateRepository
。ただし、これは機能せずRepository
、コントローラーでアクセスしようとすると、プロパティはnullになります。ただし、代わりにコードをこれに変更すると、次のようになります。
その後、正常に動作します。コンストラクターインジェクションが機能しない理由を誰かが知っていますが、プロパティインジェクションは機能していますか?
c# - Ninject(Windsorからの移動)を使用したWCFサービスの問題(InvalidOperationException)
家の中にNinjectの専門家はいますか?:)最近、WCFサービスアプリケーションとWindowsフォームクライアントアプリケーションをCastleWindsorの依存性注入からNinjectに変換しようとしています。
Win Forms側ではすべてうまくいきましたが、WCF側で問題が発生しています。私はこれまでに、Ninjectで利用可能なWCF拡張機能を使用して、私が実行および参照したWCFでDIを使用する必要があると考えていますが、サービスを解決しようとすると問題が発生すると考えています。
System.InvalidOperationException:タイプ'WcfMemberService'、ServiceHostディレクティブでService属性値として提供されているか、構成要素system.serviceModel / serviceHostingEnvironment/serviceActivationsで提供されているものが見つかりませんでした。
私が持っているコードは、たとえば私のWcfMemberServiceにアクセスするのに正しいと思ったもので、次のとおりです。
ServiceModule.cs:
私が行った仮定は、作業中のCastle Windsor構成から変換するときにNamed()
、WCF.svc
ファイルの宣言に含まれているのと同じエントリである必要があるということです。だから私は次のようにそれをしました:
非常に単純です。ちなみに、このアプローチは、Ninject WcfExtensionsGitHubページに掲載されているTimeServiceサンプルソリューションから採用しています。
誰かが私がここで間違ったことをしたこと、そしてなぜ「WcfMemberService」が解決されないのかを知ることができますか?カーネルでは「WcfMemberService」にバインドされ、@ServiceHost宣言で参照されます。他に何が間違っているのかわかりません。これは、構文が大きく異なることを除いて、Castle Windsorで宣言する方法とまったく同じですNamed()
が、ファイルのService部分でその名前を使用し、両方とも参照し.svc
ます。
*更新*Named()
このアプローチを使用しないかどうかを発見し、サービスが機能する@ ServiceHost
ように宣言でサービスを設定するだけBusiness.Common.Wcf.Services.MemberService, Business.Common.Wcf.Services
です。しかし、名前付きサービスを使用できない理由については、まだ困惑しています。ありがとう。
ちなみに、私のNinjectモジュールは次の方法でロードされますGlobal.asax.cs
。
wcf - WCF を使用した Ninject インターセプション拡張により、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というメッセージが表示されます。エラー
Ninject インターセプト拡張機能を使い始めましたが、WCF サービスで機能させることができません。WCF 拡張機能を使用すると、ninject は正常に動作します。問題を引き起こしているのはインターセプトです。多分私はそれを間違っていますか?LinFuModel をカーネル コンストラクターに追加しようとすると、既に読み込まれていることが示されるので、これで問題ないと思います。
基本的に、バインディングのすべての傍受は私の wcf サービスを壊しますが、私のメソッド傍受はサービスでのみ機能します (getData() はサービス コントラクトにあります)。
編集:以下も機能しません:
編集を終了
よろしくお願いします、リンゼ
aop - Ninject Interception Extension の Intercept インターフェイス メソッド
Ninject Interception 拡張機能をいじっています。これに関するIan Davis のブログ投稿は、傍受は常にインターフェイスではなく、実際のサービスの種類に基づいていることを示しています。たとえば、次のコードはIFoo
インターフェイスであるため効果がありません。
そしてもちろん、次のコードは次の場合にのみ機能しFoo.DoSomething
ますvirtual
:
アスペクト指向プログラミングに関して言えば、これはかなり明白な穴のように思えます。さまざまなサービスをモックするためにモック フレームワークを使用できるように、インターフェイスのプログラミングにはかなりの注意を払ってきましたが、実際のメソッド実装の大部分は仮想ではありません。モッキング フレームワークが、IFoo
私が求めていることを実行する with a メソッドを生成できる場合、Ninject もできるはずです。
したがって、私の質問は2つあると思います。
- Ninject Interception がインターフェイス メソッドへのバインドを許可しない理由はありますか?
- Ninject を動的な「ラッパー」クラスにバインドして、すべてのインターフェイス メソッドで特定の傍受アクションを実行し、呼び出しを実際の実装に渡す簡単な方法はありますか?
asp.net-mvc-3 - Ninject と OnePerRequestModule
Ninject
私は最近、この拡張機能を試してみNinject.Web.Mvc
ましたが、何かがおかしいことに気付きました。
抽象クラスには、NinjectHttpApplication
次のように定義されたコンストラクターがあります。
ここにデバッガーのブレークポイントを配置しました。これは数回呼び出されます。それに関する実際のドキュメントは見つかりません。実装コードで、私の目を引くこの行があります。
私の質問は次のとおりです...
- とは
OnePerRequestModule
- このコンストラクターが複数回呼び出されるのはなぜですか?
StartManaging
コンストラクターが複数回呼び出される場合、このメソッドの目的は何ですか?
asp.net-mvc-3 - Ninject.Extensions.Interception.DynamicProxyへの参照を追加すると、あいまいな一致の除外が発生します
ASP.NETMVC3アプリケーションでDIを実行するようにNinjectを構成しました。これは正常に機能しており、適切なクラスをコントローラーに挿入します。
Ninject.Extensions.Interceptionを追加してアプリケーションを操作しようとすると、あいまいな一致例外が発生し始めます。これは、Ninject.Extensions.Interception.DynamicProxyアセンブリを追加した場合にのみ発生します。このアセンブリを削除すると、再び正常に動作します。Ninject.Extensions.IntereceptionとCastle.Coreも参照しました。
アプリケーションでインターセプトを構成していないことに注意してください。参照を追加しているところですが、このエラーが発生し始めます。
Ninject2.2.1.0とNinject.Extensions.Interception2.2.0.0を使用しています。
スタックトレース:
[AmbiguousMatchException:あいまいな一致が見つかりました。]
System.RuntimeType.GetPropertyImpl(String name、BindingFlags bindingAttr、Binderバインダー、Type returnType、Type [] types、ParameterModifier []修飾子)+9402677 System.Type.GetProperty(String name、BindingFlags bindingAttr) +31
ninject.Extensions.Interception.Infrastructure.Language.ExtensionsForMethodInfo.GetPropertyFromMethod(MethodInfo method、TypeimplementationType)in c:\ Projects \ Ninject \ ninject.extensions.interception \ src \ Ninject.Extensions.Interception \ Infrastructure \ Language \ ExtensionsForMethodInfo.cs: 35 Ninject.Extensions.Interception.Planning.Strategies.InterceptorRegistrationStrategy.Execute(IPlan plan)in c:\ Projects \ Ninject \ ninject.extensions.interception \ src \ Ninject.Extensions.Interception \ Planning \ Strategies \ InterceptorRegistrationStrategy.cs:83 Ninject .Planning。<> c_DisplayClass3.b _1(IPlanningStrategy s)in c:\ Projects \ Ninject \ ninject \ src \ Ninject \ Planning \ Planner.cs:68 Ninject.Infrastructure.Language.ExtensionsForIEnumerableOfT.Map(IEnumerable1 series, Action
1アクション)c:\ Projects \ Ninject \ ninject \ src \ Ninject \ Infrastructure \ Language \ ExtensionsForIEnumerableOfT.cs:23 Ninject.Planning.Planner.GetPlan(Type type)in c:\ Projects \ Ninject \ ninject \ src \ Ninject \ Planning \ Planner.cs:68 Ninject.Activation.Providers.StandardProvider.Create(IContext context)in c:\ Projects \ Ninject \ ninject \ src \ Ninject \ Activation \ Providers \ StandardProvider.cs:74Ninject.Activation.Context。 c:\ Projects \ Ninject \ ninject \ src \ Ninject \ Activation \ Context.cs:157のResolve()c:\ Projects \ Ninject \ ninject \ src \ Ninject \ KernelBase.csのNinject.KernelBase.b__7(IContextコンテキスト) :375
ioc-container - Ninject:インターセプトされている1つのクラスインスタンスごとに1つのインターセプターインスタンス?
現在、インターセプトされているクラスの1つのインスタンスごとに1つのインターセプターインスタンスを接続しようとすると、問題が発生します。
InterceptorRegistrationStrategyでアドバイスを作成し、カーネルからインターセプターを解決するようにコールバックを設定しています(インジェクションコンストラクターがあります)。InterceptorRegistrationStrategyにはカーネル自体への参照がないため、コールバックでインターセプターをインスタンス化することしかできないことに注意してください。
メソッドごとにインターセプターのインスタンスを取得しています。
インターセプトされるタイプインスタンスごとに1つのインターセプターインスタンスを作成する方法はありますか?
Named Scopeについて考えていましたが、インターセプトされたタイプとインターセプターは相互に参照していません。