asp.net core 多端口監聽&日志服務


1 配置多個端口監聽

HostingAbstractionsWebHostBuilderExtensions.

public static IWebHostBuilder UseUrls(this IWebHostBuilder hostBuilder, params string[] urls);

 

 

 

 

 

運行結果:

 

 

 

 

 

 

2 使用配置把多端口放到配置文件中

 

添加配置文件

hosting.json

{

"server.urls": "http://localhost:6001;http://localhost:5000"

}

 

讀取配置

 

var config = new ConfigurationBuilder()

.SetBasePath(Directory.GetCurrentDirectory())

.AddJsonFile("hosting.json", optional:true)

.Build();

 

設置配置:

 

var host = new WebHostBuilder()

.UseKestrel()

.UseContentRoot(Directory.GetCurrentDirectory())

.UseIISIntegration()

//可以設置多個監聽端口,http://localhost:5000/ http://localhost:6001/ 都是可以訪問的

//.UseUrls("http://*:5000","http://*:6001")

//添加的多端口設置放到配置中

.UseConfiguration(config)

.UseStartup < Startup > ()

.Build();

host.Run();

 

 

 

 

 

3 .net Core 日志服務

 

Telemetry 日志服務

 

public void ConfigureServices(IServiceCollection services)

{

// Add framework services.

services.AddApplicationInsightsTelemetry(Configuration);

 

}

 

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

{

loggerFactory.AddConsole(Configuration.GetSection("Logging"));

loggerFactory.AddDebug();

 

app.UseApplicationInsightsRequestTelemetry();

}

 

 

 

只要有訪問就會記錄下日志

 

http://localhost:6001/

 

Log 日志

Application Insights Telemetry (unconfigured): {"name":"Microsoft.ApplicationInsights.Dev.Request","time":"2017-08-05T09:11:22.6148689Z","tags":{"ai.device.roleInstance":"lihongbo-pc","ai.internal.sdkVersion":"aspnet5c:1.0.0","ai.operation.name":"GET /","ai.operation.id":"oUbk/2mD5Ns=","ai.user.userAgent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.78 Safari/537.36"},"data":{"baseType":"RequestData","baseData":{"ver":2,"id":"oUbk/2mD5Ns=","name":"GET /","startTime":"2017-08-05T09:11:22.6148689+00:00","duration":"00:00:00.1031536","success":true,"responseCode":"200","url":"http://localhost:6001/","httpMethod":"GET","properties":{"DeveloperMode":"true"}}}}

Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 343.1286ms 200 text/html; charset=utf-8

=

 

 

關閉 Telemetry 日志服務

 

http://localhost:6001/

自帶的Log服務

Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 GET http://localhost:6001/

Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 8.2399ms 200 text/html; charset=utf-8

Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request starting HTTP/1.1 GET http://localhost:6001/

Microsoft.AspNetCore.Hosting.Internal.WebHost:Information: Request finished in 4.3987ms 200 text/html; charset=utf-8

 

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

{

//配置ConsoleLog服務

loggerFactory.AddConsole(Configuration.GetSection("Logging"));

//設置服務輸出級別

//Debug 級別會輸出包括Information級別的所有日志

loggerFactory.AddDebug();

}

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM