See this StackOverflow question for some background. Hangfire looks like the right solution for me but I'm having trouble getting it to work. My development environment is VB 2010 with SQL 2005. Not the latest tools!
Public Sub Configuration(app As IAppBuilder)
Dim act = Sub(config As IBootstrapperConfiguration)
config.UseSqlServerStorage("HangfireDb")
config.UseServer()
End Sub
app.UseHangfire(act)
End Sub
I borrowed the code from the article above which translates the original C# code to VB. Evidently, this code works but when I run it, it throws a SQLException error with the message "Column, parameter, or variable #5: Cannot find data type datetime2" at the call to config.UseSqlServerStorage("HangfireDb").
This is probably where your issue lies.
Had a quick look at the schema of Hangfire tables and can see that HangFire.Hash table uses datetime2 type for the ExpireAt column.
According to this thread, Sql Server 2005 doesn't support this type, as it has only been introduced in Sql Server 2008.