问题描述:
启动多个dotnet程序时,通过Ctrl+Alt+P附加时,不能分辨哪一条是对应的进程
解决方案:
方案一:通过进程ID,程序启动时展示进程ID
/// <summary>
/// application扩展
/// </summary>
public static class ApplicationExtension
{
/// <summary>
/// 显示进程ID
/// </summary>
/// <param name="app"></param>
/// <returns></returns>
public static IApplicationBuilder UseDisplayProcessID(this IApplicationBuilder app)
{
Process processes = Process.GetCurrentProcess();
Console.WriteLine($"当前应用进程ID:----{ processes.ProcessName}-{processes.Id}----");
return app;
}
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHttpContextAccessor httpContextAccessor)
{
if (env.IsDevelopment())
{
app.UseDisplayProcessID();
app.UseDeveloperExceptionPage();
}
//........其他代码
}
启动后查看控制台输出
附加进程时,ID所在的列即是进程ID
方案二:启动时指定进程名称/标题
创建demo.bat文件,内容如下
set redis=127.0.0.1,defaultDatabase=0,password=123456
set ASPNETCORE_ENVIRONMENT=Development
set RabbitMQ="server=localhost;uid=guest;password=guest;port=5672;qos=1"
start "mch" dotnet WebAPI.dll --urls="http://0.0.0.0:15000"
此时附加时会看到标题列有自己指定的名称