C# HostingEnvironment.QueueBackgroundWorkItem在Mono中引发InvalidOperationException

C# HostingEnvironment.QueueBackgroundWorkItem在Mono中引发InvalidOperationException,c#,asp.net,mono,C#,Asp.net,Mono,我正在将ASP.NET MVC 5应用程序从.NET Framework移植到Mono。 最后一个前沿是让HostingEnvironment.QueueBackgroundWorkItem工作 该应用程序在Apache mod_mono上运行,位于docker容器中 正如标题中所述,HostingEnvironment.QueueBackgroundWorkItem抛出InvalidOperationException。下面是完整的堆栈跟踪 System.InvalidOperationE

我正在将ASP.NET MVC 5应用程序从.NET Framework移植到Mono。
最后一个前沿是让HostingEnvironment.QueueBackgroundWorkItem工作

该应用程序在Apache mod_mono上运行,位于docker容器中

正如标题中所述,HostingEnvironment.QueueBackgroundWorkItem抛出InvalidOperationException。下面是完整的堆栈跟踪

  System.InvalidOperationException: Operation is not valid due to the current state of the object.
  at System.Web.Hosting.HostingEnvironment.QueueBackgroundWorkItem (System.Func`2[T,TResult] workItem) [0x00015] in <347f335902b24586a53361aa1278a360>:0 
  at System.Web.Hosting.HostingEnvironment.QueueBackgroundWorkItem (System.Action`1[T] workItem) [0x00005] in <347f335902b24586a53361aa1278a360>:0 
  at Ayyeka.Web.UI.Utils.DashboardModelBuilder.SaveModelToCache (Ayyeka.Web.UI.Models.AdminManagementModel model, System.UInt64 userId, System.String token) [0x00005] in <94931e6f7d3d48188e8c013f1bec6e2a>:0 
  at Ayyeka.Web.UI.Utils.DashboardModelBuilder.build (System.String userUiRole, System.UInt64 userId, System.String token, Ayyeka.Web.UI.BackendUser.User user, System.Boolean cacheModel) [0x004a1] in <94931e6f7d3d48188e8c013f1bec6e2a>:0 
System.InvalidOperationException:由于对象的当前状态,操作无效。
位于:0中的System.Web.Hosting.HostingEnvironment.QueueBackgroundWorkItem(System.Func`2[T,TResult]工作项)[0x00015]
位于:0中的System.Web.Hosting.HostingEnvironment.QueueBackgroundWorkItem(System.Action`1[T]workItem)[0x00005]
在Ayyeka.Web.UI.Utils.DashboardModelBuilder.SaveModelToCache(AYEKA.Web.UI.Models.AdminManagementModel模型,System.UInt64用户标识,System.String令牌)[0x00005]中:0
在Ayyeka.Web.UI.Utils.DashboardModelBuilder.build(System.String userUiRole,System.UInt64 userId,System.String token,Ayyeka.Web.UI.BackendUser.User,System.Boolean cacheModel)[0x004a1]中:0
我试图在mono源代码中跟踪错误,它可能归结为以下方法中的标记行:

public static void QueueBackgroundWorkItem(Func<CancellationToken, Task> workItem) {
    if (workItem == null) {
        throw new ArgumentNullException("workItem");
    }
    if (Host == null) {  // <------- HERE
        throw new InvalidOperationException(); // can only be called within an ASP.NET AppDomain
    }

    QueueBackgroundWorkItemInternal(workItem);
}
public static void QueueBackgroundWorkItem(Func workItem){
if(workItem==null){
抛出新ArgumentNullException(“工作项”);
}
如果(主机==null){//