問題タブ [ninject-interception]

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 に答える
429 参照

wpf - Ninjectを使用してコマンドにアクションを挿入する方法は?

実際にコマンド パターンを調べてみると、非常に興味深いことがわかりました。MVVM Architectural Patternに従って WPF Windows アプリを作成しています。

基本を説明するこれらの投稿から始めました。

ユーザー アクションをコマンドに分割できるようになったので、必要なコマンドを挿入するにはこれが最適だと考えました。最初に参照した記事でコマンドがViewModelに含まれていることに気付きました。そのため、Ninjectと一緒にコマンドを使用し、次のようなバインディングを使用してビュー モデルにコマンドを実際に挿入できれば素晴らしいと思いました。

では、ここに何を入れるか???. 期待される答えはメソッドです。すごい!そこに入れるメソッドが必要なだけです。

最初の記事では ViewModel コンストラクター内でコマンドを初期化するだけなので、コマンド実行呼び出しでどのメソッドを実行する必要があるかは簡単にわかります。

しかし、CompositionRootの中から? これは、使用している DI コンテナーを介して型をバインドする以外のことを行うメソッドを配置する場所ではありません。

さて、Ninject 拡張機能を使用した Interceptor パターンに出会いました。これは私の要件に合っているように見えますが、私が言うには、少し混乱しています。記事が紛らわしいというわけではありませんが、そうではありません。よくわかりません!

また、常に素晴らしい回答を設定している BatteryBackupUnit からのこの回答もあります。

しかし、今では、すべてを接着する方法がわかりません。謙虚に、私は迷っています。

これまでのコードは次のとおりです。

Relayコマンド

カテゴリー管理ビューモデル

すべてを使用するわけではありませんが、 Property Injectionを使用した方がよいでしょうか?

CategoriesManagementView別のウィンドウを呼び出すとしましょう。たとえばCreateCategoryView.Show()、ユーザーが管理ウィンドウに戻るまで、CreateCategoryView が引き継ぎます。

次に、Create Command は CreateCategoryView.Show() を呼び出す必要があります。これが、CompositionRoot内から試したものです。

コンポジションルート

おそらく、私は物事を複雑にしすぎているのかもしれません。=)

Ninject Interception Extension がこの仕事に適したツールであるかどうか、またそれを効果的に使用するにはどうすればよいでしょうか?

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

asp.net-web-api - WebAPI での Ninject インターセプトとパラメーターなしのコンストラクターの失敗

MVC と WebAPI の両方を使用する MVC4 サイトがあります。クラスを変更して、データのキャッシュに役立つクロスカット AOP クラスを作成しようとするまで、すべてがうまくいっていました。現在、InterceptAttribute を持たないメソッドを呼び出すと、Ninject がパラメーターを挿入しなかったためにクラッシュし、失敗することがわかりました。

私の BLL クラスは次のようになります。

私の WebApi コントローラーは次のようになります。

私の Web サイトでは、コントローラーを解決するために次の Ninject クラスを作成しました。

Global.asax で、このリゾルバーを登録します。

Ninject.Extensions.Interception.Attributes.InterceptAttribute を使用して属性 Cache を追加するまでは問題ありませんでした。

クラスは次のようになります (パラメーターなしのコンストラクターを追加し、メソッドの 1 つを仮想としてマークしたことに注意してください。これらは両方とも、傍受が機能するために必要です)。

WebAPI コントローラーで GetToBars (Intercept 属性を持つメソッド) を呼び出すと、すべて正常に動作します。

ただし、GetAllBars (Intercept 属性を持たないメソッド) を呼び出すと、_context が null であるという例外で失敗します。

どんな助けでも大歓迎です。

ベン

0 投票する
2 に答える
119 参照

c# - 繰り返しリスト匿名型で

Ninject Interception 拡張機能を使用して SQLLogging を実装しています。「param」という変数があり、ウォッチ ウィンドウに表示されているように匿名型です (下の図を参照)。やっparam.ToString()たら返ってきた

invoation のタイプは Ninject.Extensions.Interception.IInvoation Interface です。

取得する必要があるのは、名前とその項目です。したがって、これには「Countries = 36, 124, 826, 840」のようなものが必要です。

それを達成するためにリストを反復処理するにはどうすればよいですか? Countriesまた、この場合の名前は実行時までわからないことに注意してください。それは次のようなものかもしれません

また

ウォッチ ウィンドウ内のオブジェクト

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

asp.net-mvc - Windows Azure "NetworkError": 500 Internal Server Error で Web API が動作することがある

Windows SQL Azure データベースを使用して、最初のアプリケーションを Windows azure にデプロイしました。私のアプリケーションでは、実装を完了するために Web サービスを実行する必要があります。

必要なすべての設定と Web サイトが正常に機能するように構成しましたが、同じ有効な入力ではなく、ユーザー登録に失敗することがありました。Windows Azure を初めて使用する私を助けてください。エラーと成功を参照してください

これはステージングサーバーで適切に機能します。