带有 windows 身份验证的 NLog WebService 目标的 HTTP 错误 401

HTTP Error 401 with NLog WebService target with windows auth

使用 NLog 网络服务目标
https://github.com/nlog/NLog/wiki/WebService-target

当目标 api 使用 windows 身份验证时,我收到 401。

Error Error when sending to Webservice: ws Exception: System.Net.WebException: The remote server returned an error: (401) Unauthorized.

如果我允许匿名,一切正常

我正在尝试在对日志记录步骤的调用中使用模拟。但是,上面的异常是在NLog内部日志文件中产生的(我开启了)。

 if (user.ImpersonateValidUser())
 {
    try
    {
        Logger logger = LogManager.GetCurrentClassLogger();
        LogEntry l = new LogEntry() 
        { 
            AppName = "MyTestController", 
            LoggedOnDate = DateTime.Now, 
            LogMessage = "this is a test", 
            LogType = 1, 
            ServerName = "dev-test3" 
        };
        logger.Error(l);
    }
}

如何调用使用 windows 身份验证的网络服务目标?

很遗憾,Webservice 目标不支持身份验证。您可以使用 LogReceiverService target, see also How can I enable Security in LogReceiverService (NLog)