我有一个ASP.NET MVC应用程序作为Hangfire客户端 - 它排队不同的工作.我正在使用SqlServerJobStorageHangfire.
目前我正在处理一个与Hangfire数据库没有连接的情况,并且未来连接的某个地方正在实例化.
目标是我的ASP.NET MVC应用程序应该在此之前继续工作.连接恢复后,它应该开始排队作业.
因此,应用程序将抛出异常Global.asax:
Hangfire.GlobalConfiguration.Configuration.UseSqlServerStorage("EshopServiceHangfire");
Run Code Online (Sandbox Code Playgroud)
此外,所有工作队列也会抛出异常:
BackgroundJob.Enqueue<ISomeClass>(x => x.DoSomethingGreat(JobCancellationToken.Null));
Run Code Online (Sandbox Code Playgroud)
我把行Global.asax放在try/catch块中,所以它不会抛出.当有人排队工作时,我想检查一下JobStorage.Current,如果它没有初始化,我会尝试使用相同的代码再次启动它:
Hangfire.GlobalConfiguration.Configuration.UseSqlServerStorage("EshopServiceHangfire");
Run Code Online (Sandbox Code Playgroud)
有人知道这样做的方法吗?文档没有关于此的信息.
有点像Hangfire.GlobalConfiguration.JobStorage.IsInitialized?
从Job enqueue捕获异常也是一种方式,但我不喜欢它,因为它抛出非特定的
InvalidOperationException:尚未初始化JobStorage.Current属性值.您必须在使用Hangfire客户端或服务器API之前进行设置.
非常感谢那些读过这个地方的人)
我正在使用 NPOI 在 C# 中处理 Excel。但没有完整的文档说明如何使用它。我需要将一些范围复制到另一个工作表。有人知道怎么做这个吗?也许您正在使用另一个 dll(不是互操作)来提供此类功能。如果是这样,请告诉我。
在 Excel 中,一切都非常简单:
Worksheets(2).rows(2).copy newsheet.Range("A1")
Run Code Online (Sandbox Code Playgroud)
感谢您的回答!