c# - 打开认证验证会导致 Application Insights 数据丢失吗?
问题描述
我们正在使用 Microsoft Application Insights 来记录遥测数据。突然间,它已停止为大多数用户记录数据。我们从 WPF 应用程序进行日志记录。我们怀疑打开 ServicePointManager.ServerCertificateValidationCallback 导致了这个问题。这是回调的代码 -
public static bool CertificateValidationCallBack(
object sender,
X509Certificate certificate,
X509Chain chain,
System.Net.Security.SslPolicyErrors sslPolicyErrors)
{
bool isCertificateValid = true;
try
{
var certificate2 = new X509Certificate2(certificate);
isCertificateValid = certificate2.Verify();
}
catch
{
}
return isCertificateValid;
}
根据配置值,我们附加回调,否则我们将其设置为 null。这是我们如何获得ServicePointManager.ServerCertificateValidationCallback值 -
if (!AllowFiddler)
{
ServicePointManager.ServerCertificateValidationCallback = CertificateValidationCallBack;
}
else
{
ServicePointManager.ServerCertificateValidationCallback = null;
}
每次我们使用 HttpClient 发出异步请求时,都会执行上述代码块。
代码有什么问题吗?Application Insights SDK 是否保留任何可用于调查数据丢失的日志?我查看了 %localappdata%/Microsoft/ApplicationInsights 文件夹 - 它只包含空文件夹。关于如何解决此问题的任何想法?
解决方案
推荐阅读
- javascript - Node.js 和 Express:在响应 HTTP 请求之前等待异步操作
- java - 循环java中的随机字符
- python - TypeError:resize_images() 得到了一个意外的关键字参数“preserve_aspect_ratio”
- excel - 将多个用户定义函数之一分配给宏中的新定义函数
- javascript - 正确答案后如何结束程序?
- javascript - 使用智能手机键盘外观处理绝对布局
- php - 常规帖子类型内的自定义帖子类型
- nodemailer - Nodemailer TypeError:无法读取未定义的属性“sendMail”
- javascript - 即使在