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 合并指标
 (30 天内没有已合并 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

贡献者指南