Я пытаюсь выяснить, где время используется в моем приложении.
Сервер A отправляет на сервер B с помощью следующей функции:
protected async Task<T> SendRequest<T>(HttpRequestMessage request)
{
using (var telemetryRequest = _telemetry.ExternalRequest("Outgoing call -> ", request.RequestUri.OriginalString, "", false)) // Creates a DependencyTelemetry
{
using (var response = await Client.SendAsync(request))
{
var data = await response.Content.ReadAsStringAsync();
var returnObject = JsonConvert.DeserializeObject<T>(data, new JsonSerializerSettings
{
Error = HandleDeserializationError
});
return returnObject;
}
}
}
Затем на сервере B принимается вызов с использованием специального промежуточного программного обеспечения:
public class MyCustomkMiddleware
{
public async Task InvokeAsync(HttpContext context)
{
using (var request = _telemetryClient.InCommingRequest($"Incoming request: {context.Request.Method}) // Creates a RequestTelemetry
{
await _next.Invoke(context).ConfigureAwait(false);
}
}
}
Промежуточное программное обеспечение настроенопри запуске:
public void Configure(IApplicationBuilder app, ContextInitializer contextInitializer, )
{
app.UseMiddleware<MyCustomkMiddleware>();
}
Если вы посмотрите журнал, вы увидите, что вызов занимает много времени, но я не совсем понимаю, почему.Я предполагаю, что из-за чего-то глупого мы делаем большое время запуска и завершения работы.Как я могу сузить это или найти проблему?