• 로그인

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

.NET 비동기 메트릭 누락

문제

WebApi, HttpClient, SqlCommand, SqlDataReader, NpgsqlCommand 또는 사용자 지정 계측에 대한 비동기 트랜잭션 이 표시되지 않습니다. 이 문제는 일반적으로 .NET Framework 4.0 이하 에서 New Relic의 .NET 에이전트 로 만든 다음 .NET Framework 4.5 이상으로 마이그레이션한 앱에서 발생합니다.

해결책

파이프라인에 대한 appSetting 업그레이드

다음을 사용하는 경우 특정 appSetting 또는 system.web 설정이 필요합니다.

  • WebApi1 또는 WebApi2
  • HttpClient, SqlCommand, SqlDataReader 또는 NpgsqlCommand의 비동기 메서드
  • 비동기 관련 사용자 지정 트랜잭션 또는 사용자 지정 계측
  • New Relic .NET 에이전트 버전 5.11.53.0 이상
  • 앱의 대상으로 .NET Framework 4.5 이상

이러한 조건이 적용되는 경우 앱이 .NET 4.5에 도입된 업그레이드된 요청 처리 파이프라인을 사용하는지 확인해야 합니다.

업그레이드된 파이프라인을 사용하려면 web.config 에 다음 설정 중 하나가 포함되어 있는지 확인하세요. 두 설정 모두 표시되지 않으면 다음 중 하나를 추가합니다.

권장 사항: 새 파이프라인과의 호환성 확인

선택 사항: 런타임 시 비동기 코드에 대한 추가 검사를 수행하도록 .NET Framework에 지시할 수 있습니다. 이러한 검사는 레거시 ASP 파이프라인에 의해 마스킹될 수 있는 비동기 코드의 일반적인 문제를 포착합니다.

앱이 문제 없이 통과하면 앱이 새 파이프라인을 올바르게 처리한다고 확신할 수 있습니다. 자세한 내용은 Microsoft의 구성 설명서 를 참조하십시오.

추가 검사를 시행하려면 web.config 에 다음을 추가하세요.

<configuration>
<appSettings>
<add key="aspnet:AllowAsyncDuringSyncStages" value="false" />
</appSettings>
<configuration>

원인

레거시 통합 파이프라인이 있는 경우 비동기 계측이 비활성화됩니다. .NET 4.5 이전에는 통합 파이프라인으로 인해 교착 상태가 발생할 수 있었습니다. 이 .NET Framework 버그에 대한 자세한 내용은 다음을 참조하세요.

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.