Я пытаюсь убедиться, что мой журнал выглядит правильно, но у меня есть некоторые проблемы со службой пула, которые необходимы для получения токена доступа от Azure Ad B2C.
Проблема в функции обратного вызова, которую AD использует для повторного доступа к моей системе. Все вызовы, сделанные из обратного вызова, не регистрируются правильно, так как идентификатор операции неверен. Есть ли способ передать OperationId в мир AD?
async Task<string> GetAccessToken()
{
var uri = $"https://login.microsoftonline.com/.........";
var parameters = new FormUrlEncodedContent(
new Dictionary<string, string>()
{
{"username", B2CConfiguration.Username},
{"password", B2CConfiguration.Password},
{"grant_type", B2CConfiguration.GrantType},
{"scope", B2CConfiguration.Scope},
{"client_id", B2CConfiguration.ClientId},
{"response_type", B2CConfiguration.ResponseType}
});
using (var request = await _httpClient.PostAsync(uri, parameters))
{
var response = await request.Content.ReadAsStringAsync();
var token = JsonConvert.DeserializeObject<AccessTokenModel>(response).access_token;
return $"Bearer {token}";
}
}
async Task DoWorkAsync()
{
var operationID = Guid.NewGuid().ToString();
using (_logClient.CreateRequest("Actor Run",operationID )) // _logClient is a thin wrapper for the applicationInsights client
{
var accessToken = await GetAccessToken(); // This call is not listed under "Actor Run" in Application Insights
var dataSet = await GetSomeData(accessToken); // This call is logged correctly
foreach(var data in dataSet)
{
await UseDateToDoSomethingOnExternalServer(dataSet, data); // This call is logged correctly
}
}
}