2016-07-21 11 views
2

Ich möchte die QueueBackgroundWorkItem-Funktion in .NET 4.5.2+ in unserer ASP.NET-Web-API-Anwendung nutzen, bekomme jedoch ständig "Ungültige Operation "Ausnahmen beim Versuch, etwas in die Warteschlange zu stellen. Ich glaube, dass dies mit der Tatsache zusammenhängen kann, dass unsere App mit OWIN selbst gehostet wird und die Warteschlangenbildung des Workitems nur ein Feature von IIS ist? Wenn das wahr ist, wollte nur sehen, ob es irgendwelche Vorschläge in Bezug auf die Hintergrundarbeit von einem owin-selbst gehosteten API geben würde.HostingEnvironment.QueueBackgroundWorkItem mit ASP.NET-Web-API mit OWIN

Antwort

2

HostingEnvironment.QueueBackgroundWorkItem() ist Teil System.Web und als Ergebnis wird es nur in der Arbeit klassische ASP.NET-Pipeline. Es wird nicht in selbst gehosteten OWIN Pipeline funktionieren.

Hangfire ist Ihre einzige Option lange Hintergrundaufgaben

laufen
1

Ich hatte dieses Problem in einer Testumgebung answered here.

Am Ende habe ich Hangfire und sein Feuer und vergessen Code

//Fire-and-forget tasks 
// Static methods are for demo purposes 
BackgroundJob.Enqueue(
    () => Console.WriteLine("Simple!"));