c# – ASP.NET核心中的WCF跟踪

我们曾经在ASP.NET上使用WCF,最近通过ASP.NET Core切换到WCF.这很难实现,因为ASP.Net Core不支持开箱即用的WCF.首先,整个web.config
XML配置模型已被转储到ASP.NET Core中,因此我们无法在那里配置WCF跟踪.

即这个文件没用:
https://docs.microsoft.com/en-us/dotnet/framework/wcf/diagnostics/tracing/configuring-tracing

我们不得不通过在WCF和端口80之间放置一个http代理来破解ASP.NET Core.WCF实际上是在另一个端口上运行.

问题是,如果ASP.NET Core不关注web.config,我们如何启用WCF跟踪?

最佳答案 您将在.NET Core上使用ETW Tracing for WCF

https://github.com/dotnet/wcf/blob/master/Documentation/HowToUseETW.md

根据我的经验,你有一些限制

>对所有WCF应用程序进行跟踪,而不是通过配置文件配置单个应用程序
>您无法使用ETW跟踪输出消息
> SvcTraceViewer.exe无法用于跟踪审查,您需要转移到可能呈现学习曲线的PerfView.exe

ETW的好处

>您可以避免经典形式的追踪造成的性能损失
>不再需要配置更改来启动/停止跟踪

点赞