개체가 있습니다. 예 :배경 이벤트 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를 사용할 이유가 전혀 없을 것입니다.
도와 주셔서 감사합니다.
업데이트
내가 시작 내부 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