HangfireIO/Hangfire

System.Globalization.CultureNotFoundException. Culture is not supported.

開放

#964 建立於 2017年8月11日

 (1 則留言) (0 個反應) (0 位負責人)C# (1,748 個分叉)batch import
a: corehelp wanted

倉庫指標

星標
 (10,068 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

I'm using:

  • HangFire.Core v1.4.6
  • Hangfire.SqlServer v1.4.6
  • Windows 10 x64
  • IIS 8.5 (not important probably but still)

Suddenly I got failed jobs containing next exception:

System.Globalization.CultureNotFoundException

Culture is not supported. Parameter name: name en-SI is an invalid culture identifier.

System.Globalization.CultureNotFoundException: Culture is not supported.
Parameter name: name
en-SI is an invalid culture identifier.
   at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride)
   at Hangfire.CaptureCultureAttribute.OnPerforming(PerformingContext filterContext)
   at Hangfire.Server.BackgroundJobPerformer.InvokePerformFilter(IServerFilter filter, PerformingContext preContext, Func`1 continuation)

Hangfire was using two servers if that makes any difference. After deleting all Hangfire tables it now works, but still don't know why this happened.

But why does CultureNotFoundException occurs? Thread is always running under valid culturename. I found next post: https://stackoverflow.com/questions/38690850/disable-preservecultureattribute-in-hangfire

貢獻者指南