私はいくつかのイベントを持つオブジェクトを持っています。例:バックグラウンドイベントASP.NET MVC
var myObject = new MyObject();
myObject.CustomEvent += _myEvent;
private void _myEvent(object sender, CustomEvent e)
{
using (var db = new DbContext())
{
db.MyEntity.Add(e.Property);
db.SaveChanges();
}
}
このイベントは、アプリケーション実行中常にアクティブにする必要があります。 バックグラウンドタスクについては、Hangfireを使用します。しかし、私のイベントは解雇されませんでした。たぶん、その問題にはまったく問題がないでしょう。
ご協力いただきありがとうございます。
更新
私はスタートアップの内側Hangfireをしています。
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ModelBinders.Binders.Add(typeof(double), new DoubleModelBinder());
ConfigureAuth(app);
GlobalConfiguration.Configuration
.UseSqlServerStorage("myConString");
BackgroundJob.Enqueue(() => MyEventListener());
app.UseHangfireServer();
}
public void MyEventListener()
{
new MyObject().CustomEvent += delegate (object sender, CustomEvents e)
{
using (var db = new DbContext())
{
db.MyEntity.Add(e.Property);
db.SaveChanges();
}
}
}
}
表示されているコードのいずれも、イベントをHangFireジョブに登録しようとしていません。 Hangfireは、何かをバックグラウンドで実行し続けるための良い解決策になりますが、実際に使用する必要があります。 – krillgar
ありがとうございます。私はHangfireのコードでそれを示すために自分の投稿を編集します。 – loqie