Gibt es eine Möglichkeit, Hangfire-Hintergrundjobs von ServiceStack-Diensten zu starten? Ich konnte bereits Aufträge innerhalb von MVC starten, wo ich ServiceStack-Dienste auflösen kann, aber ich wollte dies in ServiceStack tun können.Verwenden von Hangfire mit ServiceStack
Antwort
Nach einigen weiteren Untersuchungen stieß ich auf diesen Beitrag setup example without owin?.
Eine Lösung wäre, das gesamte Hangfire-Paket nicht zu installieren, sondern nur Hangfire.Core und Hangfire.SqlServer (oder die entsprechende Speicheroption), die nur die Referenz des Owin-Pakets benötigt. Der einzige Nachteil ist, dass Sie Hangfire Dashboard nicht verwenden können.
Dann Hangfire beginnen und jeden Job durch den folgenden Code:
JobStorage.Current = new SqlServerStorage("connection string");
var server = new BackgroundJobServer();
server.Start();
RecurringJob.AddOrUpdate(() => System.Diagnostics.Debug.WriteLine("No OWIN"), Cron.Minutely);
Zusätzlich Sie die ServiceStack Funq für die HangFire JobActivator verwenden:
JobActivator.Current = new FunqJobActivator(container);
nach dem Erstellen FunqJobActivator wie folgt:
public override object ActivateJob(Type jobType)
{
var resolved = _container.TryResolve(jobType);
if (resolved == null)
{
foreach (Type it in jobType.GetInterfaces())
{
resolved = _container.TryResolve(it);
if(resolved != null)break;
}
}
return resolved;
}
Ich aktualisierte FunqJobActivator zur Unterstützung von RegisterAutoWiredAs
- 1. Hangfire-Hintergrundjob mit Rückgabewert
- 2. Verwenden von ServiceStack als API Facade Layer
- 3. ServiceStack AutoQuery - Anomalie beim Verwenden von "? Fields ="
- 4. Abrufen von Typinformationen mit ServiceStack
- 5. Verwenden von ServiceStack zum Hochladen von Image-Dateien
- 6. Disable PreserveCultureAttribute in Hangfire
- 7. Hangfire Einzelinstanz wiederkehrender Job
- 8. ServiceStack mit IIS
- 9. BreezeJS mit ServiceStack?
- 10. Kreuzursprung OAuth Authentifizierung mit ServiceStack
- 11. Verwendung von Dapper in ServiceStack
- 12. Unit testet MVC app mit Hangfire
- 13. Verwenden von komplexen Typen in RedisTypedClient (ServiceStack Redis)
- 14. ServiceStack-Authentifizierung mit vorhandener Datenbank
- 15. Verwenden von ServiceStack Mini Profiler in einer selbst gehosteten Konsolenanwendung
- 16. ServiceStack Routing mit RavenDB ids
- 17. Hangfire Konfiguration und Ninject Konfiguration
- 18. ServiceStack Funq IoC-Ersatz
- 19. Funq Verwendung in ServiceStack
- 20. Hangfire CRON in UTC-Zeit
- 21. Servicestack dynamische Datentabelle
- 22. ServiceStack IReturn
- 23. Servicestack Multitenancy
- 24. Mit Hangfire: generic Enqueue <T> Methode löst Ausnahme
- 25. Neuerer ServiceStack berichtet schlecht mit New Relic
- 26. Redis serviceStack gepoolter Verbindungsclient
- 27. Servicestack nuget Versionierung
- 28. Token-basierte Authentifizierung mit ServiceStack durchführen
- 29. ServiceStack Benutzerdefinierte Benutzerauthentifizierung
- 30. ServiceStack und FacebookAuthProvider
Sie können weitere Hilfe auch in den [Hangfire Support Foren] (htt ps: //discuss.hangfire.io/). – mythz