問題タブ [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.
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 がこの仕事に適したツールであるかどうか、またそれを効果的に使用するにはどうすればよいでしょうか?
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 であるという例外で失敗します。
どんな助けでも大歓迎です。
ベン
c# - 繰り返しリスト匿名型で
Ninject Interception 拡張機能を使用して SQLLogging を実装しています。「param」という変数があり、ウォッチ ウィンドウに表示されているように匿名型です (下の図を参照)。やっparam.ToString()
たら返ってきた
invoation のタイプは Ninject.Extensions.Interception.IInvoation Interface です。
取得する必要があるのは、名前とその項目です。したがって、これには「Countries = 36, 124, 826, 840」のようなものが必要です。
それを達成するためにリストを反復処理するにはどうすればよいですか? Countries
また、この場合の名前は実行時までわからないことに注意してください。それは次のようなものかもしれません
また
asp.net-mvc - Windows Azure "NetworkError": 500 Internal Server Error で Web API が動作することがある
Windows SQL Azure データベースを使用して、最初のアプリケーションを Windows azure にデプロイしました。私のアプリケーションでは、実装を完了するために Web サービスを実行する必要があります。
必要なすべての設定と Web サイトが正常に機能するように構成しましたが、同じ有効な入力ではなく、ユーザー登録に失敗することがありました。Windows Azure を初めて使用する私を助けてください。エラーと成功を参照してください
- エラー画像リンクhttp://tourneypick.com/Upload/2015-09-10%2017_46_06-Firebug%20-%20register%20_%20Application.png
- 次のクリックで成功 画像リンク http://tourneypick.com/Upload/2015_09_10_17_45_27_Firebug_register_Application.png
これはステージングサーバーで適切に機能します。