如果服务是自托管的,Serilog Web Classic Enrichers 将不起作用
Serilog Web Classic Enrichers doesn't work if service is self hosted
我在我的 Asp.net 网站上使用了 HttpRequestIdEnricher api 这样我就可以为每个传入的请求提供一个唯一的请求 ID,该 ID 曾经在服务托管在 IIS 下时有效,但是在升级之后使用自托管(api 托管在 windows 服务中)这停止工作了!
如果 API 是自托管的,我尝试做的事情是否受支持或者我不能使用 HttpRequestIdEnricher?
我相信我可以回答我自己的问题,要使 Serilog 与 OWIN 一起工作,它必须使用 SerilogWeb.Owin 而不是 Web 经典版本,因为使用 OWIN 时 Web 将无法工作。
对于 RequestId,这可以使用 appBuilder.UseSerilogRequestContext();
完成
此包名称中的 Classic 名称表示 "Classic ASP.NET" 而不是您所指出的 self-host/OWIN/DNX 变体。 (不幸的是,很难找到一个简洁地捕捉到这一点的名字:-)。)
我在我的 Asp.net 网站上使用了 HttpRequestIdEnricher api 这样我就可以为每个传入的请求提供一个唯一的请求 ID,该 ID 曾经在服务托管在 IIS 下时有效,但是在升级之后使用自托管(api 托管在 windows 服务中)这停止工作了! 如果 API 是自托管的,我尝试做的事情是否受支持或者我不能使用 HttpRequestIdEnricher?
我相信我可以回答我自己的问题,要使 Serilog 与 OWIN 一起工作,它必须使用 SerilogWeb.Owin 而不是 Web 经典版本,因为使用 OWIN 时 Web 将无法工作。
对于 RequestId,这可以使用 appBuilder.UseSerilogRequestContext();
此包名称中的 Classic 名称表示 "Classic ASP.NET" 而不是您所指出的 self-host/OWIN/DNX 变体。 (不幸的是,很难找到一个简洁地捕捉到这一点的名字:-)。)