是否有一种方法可以控制发送到AppInsights跟踪的数据。如官方文档所述,归档和预处理是一种方法。我无法从POST和PUT获取属性(密码)。由于密码很敏感,因此我不想发送给App Insights。 以下是我的踪迹:
“值”:“ client_id = {someguid}&resource = {someguid}&username = {username}&password = {password}&grant_type = password&scope = openid&nca = 1; 1; login-NonInteractive; False”
public void Initialize(ITelemetry telemetry)
{
var requestTelemetry = telemetry as RequestTelemetry;
if (requestTelemetry != null && (HttpContext.Current.Request.HttpMethod == HttpMethod.Post.ToString() || HttpContext.Current.Request.HttpMethod == HttpMethod.Put.ToString()))
{
using (var reader = new StreamReader(HttpContext.Current.Request.InputStream))
{
string requestBody = reader.ReadToEnd();
requestTelemetry.Properties.Add("body", requestBody);
}
}
}
答案 0 :(得分:0)
在将数据推送到appinsight之前,我们通常序列化我们的类对象。那时在序列化类对象时,应该忽略序列化的属性。在C#中,可以使用System.Web.Script.Serialization库的ScriptIgnore属性。
请浏览以下帖子一次。
如果scriptignore无法解决您的问题,则可以创建自己的属性。