public interface IWebHostBuilder
{
IWebHostBuilder UseLoggerFactory(ILoggerFactory loggerFactory);
IWebHostBuilder ConfigureLogging(Action<ILoggerFactory> configureLogging);
...
}
new WebHostBuilder()
.ConfigureLogging(factory=>factory.AddConsole())
...
public class FoobarMiddleware
{
private RequestDelegate _next;
public FoobarMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context, ILoggerFactory loggerFactory)
{
ILogger<FoobarMiddleware> logger = loggerFactory.CreateLogger<FoobarMiddleware>();
logger.LogInformation("...");
await _next(context);
}
}
public class Program
{
public static void Main()
{
new WebHostBuilder()
.ConfigureLogging(factory=>factory.AddConsole())
.UseKestrel()
.UseStartup<Startup>()
.Build()
.Run();
}
}
public class Startup
{
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
{
app.Run(async context =>
{
loggerFactory.CreateLogger("App").LogInformation("Log entry for test...");
await context.Response.WriteAsync("Hello world!");
});
}
}
public class HostingApplication IHttpApplication<HostingApplication.Context>
{
public struct Context
{
public HttpContext HttpContext { get; set; }
public IDisposable Scope { get; set; }
public long StartTimestamp { get; set; }
}
}
new WebHostBuilder()
.ConfigureLogging(factory=>factory.AddConsole(true))
.UseKestrel()
.UseStartup<Startup>()
.Build()
.Run();
public abstract class HttpContext
{
//省略其他成员
public abstract string TraceIdentifier { get; set; }
}
public interface IHttpRequestIdentifierFeature
{
string TraceIdentifier { get; set; }
}
public class HttpRequestIdentifierFeature IHttpRequestIdentifierFeature
{
private string _id;
private static long _requestId = DateTime.UtcNow.Ticks;
private static unsafe string GenerateRequestId(long id);
public string TraceIdentifier
{
get
{
return _id??(id= GenerateRequestId(Interlocked.Increment(ref _requestId)));
}
set
{
this._id = value;
}
}
}
public class HostingApplication IHttpApplication<HostingApplication.Context>
{
public struct Context
{
public HttpContext HttpContext { get; set; }
public IDisposable Scope { get; set; }
public long StartTimestamp { get; set; }
}
}
new WebHostBuilder()
.UseKestrel()
.Configure(app=>app.Run(async context=> {
int x = 1;
int y = 0;
await context.Response.WriteAsync((x / y).ToString());
}))
.Build()
.Run();
new WebHostBuilder()
.ConfigureLogging(factory=>factory.AddConsole (true))
.UseKestrel()
.Configure(app=>app.Run(async context=> {
int x = 1;
int y = 0;
await context.Response.WriteAsync((x / y).ToString());
}))
.Build()
.Run();
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有