IIS工作进程忙于使用Hangfire

时间:2015-09-30 07:43:32

标签: asp.net-mvc iis hangfire

我在我的MVC webapp中使用Hangfire。我这样配置了它:

$a = ('a','b','x',10), 
     ('a','b','y',20), 
     ('c','e','x',50), 
     ('c','e','y',30)

$a |
Group-Object {$_[0]},{$_[1]} |
Select-Object Values,
              @{
                  Name='Group'
                  Expression={
                      $_.Group |
                      ForEach-Object {$t=@{}}{$t.Add($_[2],$_[3])}{$t}
                  }
              } |
ForEach-Object {
    '''{0}'',''{1}'', {2}, {3}'-f@($_.Values;$_.Group['x','y'])
}

当我运行应用程序时,我看到GlobalConfiguration.Configuration .UseMongoStorage(mongoConnectionString, mongoDatabaseName); app.UseHangfireServer(); 占用了不到40%的CPU。

删除它会使应用程序正常工作。

怎么了?

1 个答案:

答案 0 :(得分:1)

Hangfire.Mongo ,因为版本0.2.2使用新版本的 mongocsharpdriver 包,在与Mongo交谈时迁移到异步API。 Hangfire仍然使用同步方法,看起来在"同步异步"中出现错误包装

一位用户报告说,在设置以下选项后,一切都很好。

{{1}}

但是,此修补程序目前不可用,另一个选项是将Hangfire.Mongo程序包降级到以前的版本。请参阅相关的GitHub issue