問題タブ [hangfire.ninject]

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

c# - Hangfire 構成と Ninject 構成

Ninject を使用する MVC 5 アプリケーションがあり、それに Hangfire を追加しています。

Ninject を追加したときはNinjectWebCommon、構成が簡単な nuget パッケージを使用しました。したがって、今のところ Ninject はNinjectWebCommon、標準カーネルを作成してバインディングを追加するクラスを通じて構成されています。

さらに、カーネルの作成時にロードするカスタム モジュールをいくつか作成しました。

Ninject Web Common はWebActivatorExクラスを通じて登録されます

この問題は、Hangfire を作成して Ninject 構成を表示する方法に関連しています。パッケージを見れHangfire.Ninjectば読める

このパッケージは、IGlobalConfiguration インターフェイスの拡張メソッドを提供します。

var kernel = new StandardKernel(); GlobalConfiguration.Configuration.UseNinjectActivator(kernel);

今私の質問は次のとおりです。

  • このインターフェイスのためIGlobalConfiguration、Hangfire Ninject 構成を OWIN スタートアップ メソッド内 (Hangfire 構成が既に配置されている場所) に追加する必要があります。現在の Ninject カーネル (NinjectWebCommon が構成したもの) を取得するにはどうすればよいですか?
  • 実行順序はどうですか?WebActivatorEx実行は OWIN の起動前ですか、それとも起動後ですか?
  • 構成を 2 回実行しようとするとどうなりますか?

より一般的には、2 つの間で Ninject 構成を共有するにはどうすればよいですか?

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

asp.net-web-api2 - Webapp およびウィンドウ サービスでの Hangfire 構成

背景ジョブを開始するために、webapi ベースのプロジェクトで hangfire を構成しました。

Hangfire の Webapi プロジェクト構成

ここで、ウィンドウ サービスを使用してバックグラウンド ジョブ (webapi プロジェクトから開始される) を処理したいと考えています。下記のコードに従ってウィンドウ サービスを作成しましたが、サービスはジョブをピックアップできません。不足している特別な構成が必要ですか

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

dependency-injection - InRequestScope を使用した Ninject での Hangfire

バックグラウンド ジョブを実行できるように、Hangfire.Ninject パッケージを ASP MVC 5 アプリケーションにインストールしました。

ドキュメントを読みましたが、実装方法について困惑しています。

私の既存の構成では、IUnitOfwork クラスに InRequestScope を使用して、次のように HTTP 要求ごとに 1 つのインスタンスのみがインスタンス化されるようにします。

ドキュメントに従って hangfire で ninject を使用するために、ninjectwebcommon.cs クラスの構成を次のように更新しました。

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

hangfire を使用してバックグラウンド ジョブを処理するために使用したいクラスは次のとおりです。

私が間違っていることを知っている人はいますか?ドキュメントには次のようにも記載されています。

これは何を意味するのでしょうか?http リクエストごとに dbContext を実装する IUnitOfwork クラスが 1 つだけ使用されるようにしたいと考えています。InRequestScope を削除すると、アプリケーションの残りの部分にどのような影響がありますか?