为什么在 asp.net 中启用 ETW 会话中的 mvc 提供程序会抛出错误?
Why in asp.net mvc enabling provider at ETW session throws error?
这是代码部分,抛出错误
_traceEventSession = new TraceEventSession(SessionName, TraceEventSessionOptions.Create);
_traceEventSession.EnableProvider(
ClrTraceEventParser.ProviderGuid,
Microsoft.Diagnostics.Tracing.TraceEventLevel.Verbose,
(ulong)(ClrTraceEventParser.Keywords.Threading | ClrTraceEventParser.Keywords.Contention));
调用 EnableProvider
时抛出错误
在本地环境下一切正常而且我没有使用KernelProvider,所以我真的不明白为什么会这样。我还在 .NET 公共语言运行时提供程序部分添加了 IIS_IUSRS 的所有权限,但它根本没有帮助。
您需要将应用程序池的标识设置为LocalService:
这是代码部分,抛出错误
_traceEventSession = new TraceEventSession(SessionName, TraceEventSessionOptions.Create);
_traceEventSession.EnableProvider(
ClrTraceEventParser.ProviderGuid,
Microsoft.Diagnostics.Tracing.TraceEventLevel.Verbose,
(ulong)(ClrTraceEventParser.Keywords.Threading | ClrTraceEventParser.Keywords.Contention));
调用 EnableProvider
在本地环境下一切正常而且我没有使用KernelProvider,所以我真的不明白为什么会这样。我还在 .NET 公共语言运行时提供程序部分添加了 IIS_IUSRS 的所有权限,但它根本没有帮助。
您需要将应用程序池的标识设置为LocalService: