C# 未到达Program.cs中Run()后的代码
在MVC Core 2.0中,建议()在调用BuildWebHost和run之间,将db种子设定和其他初始化(从EF工具启动时不应运行)放在Program.cs Main方法中 为了启动队列处理器singleton,我的Main如下所示:C# 未到达Program.cs中Run()后的代码,c#,asp.net-core-mvc,asp.net-core-2.0,C#,Asp.net Core Mvc,Asp.net Core 2.0,在MVC Core 2.0中,建议()在调用BuildWebHost和run之间,将db种子设定和其他初始化(从EF工具启动时不应运行)放在Program.cs Main方法中 为了启动队列处理器singleton,我的Main如下所示: public static void Main(string[] args) { var host = BuildWebHost(args); DocumentCreateQueueProcessor qProc
public static void Main(string[] args)
{
var host = BuildWebHost(args);
DocumentCreateQueueProcessor qProcessor;
using (var scope = host.Services.CreateScope())
{
var services = scope.ServiceProvider;
var config = services.GetRequiredService<IConfiguration>();
qProcessor = new DocumentCreateQueueProcessor(config.GetConnectionString("DefaultConnection"));
}
try
{
host.Run();
}
finally
{
qProcessor = null;
}
}
publicstaticvoidmain(字符串[]args)
{
var host=BuildWebHost(args);
DocumentCreateQueueProcessor qProcessor;
使用(var scope=host.Services.CreateScope())
{
var services=scope.ServiceProvider;
var config=services.GetRequiredService();
qProcessor=newDocumentCreateQueueProcessor(config.GetConnectionString(“DefaultConnection”));
}
尝试
{
host.Run();
}
最后
{
qProcessor=null;
}
}
我的队列处理器实现IDisposable并使用cancellationtoken取消正在运行的线程。
起初,我只是在host.Run()之后添加了空值,但我发现在语句上设置断点时,在VS中按F5使用IISExpress调试项目时,从未达到该断点。
我将try/finally添加到Run语句中,但仍未到达断点
正确的做法是什么?关闭IISExpress浏览会话时,是否真的没有访问我的代码,或者只是调试器卸载。对于链接浏览器,API通常会在浏览器关闭时停止(而不是正常关闭)。对于链接浏览器,API通常会在浏览器关闭时停止(而不是正常关闭)。