如果服务是自托管的,Serilog Web Classic Enrichers不起作用

时间:2015-09-15 05:19:24

标签: .net asp.net-web-api serilog

我在我的Asp.net web api中使用了HttpRequestIdEnricher,因此我可以为每个传入请求提供唯一的请求ID,这些请求曾经在IIS下托管服务时工作,但是adter升级为使用自托管(api是托管在Windows服务中)这停止了工作! 我是否正在尝试支持,或者如果API是自托管的,我无法使用HttpRequestIdEnricher?

2 个答案:

答案 0 :(得分:2)

我相信我可以回答我自己的问题,因为Serilog与OWIN一起使用它必须使用SerilogWeb.Owin而不是web经典的,因为Web在使用OWIN时不会工作。

对于RequestId,可以使用appBuilder.UseSerilogRequestContext();

完成此操作

答案 1 :(得分:1)

此软件包名称中的 Classic 标识表示“Classic ASP.NET”,而不是您所注意到的自主机/ OWIN / DNX变体。 (不幸的是,很难找到一个简洁地捕捉这个名字的名字:-)。​​)