대체 파일 엔드포인트

ConsumesAttribute 특성을 사용하면 컨트롤러 작업이 지원되는 콘텐츠 형식을 지정할 수 있습니다. .NET 6부터 대체 파일 엔드포인트가 구성된 경우 요청이 작업의 ConsumesAttribute에 지정된 것과 다른 콘텐츠 형식을 가지고 있기 때문에 삭제된 경로와 일치할 수 있습니다. .NET 6 동작은 .NET 5 동작에서 바람직하지 않은 방식으로 변경되었습니다. 이 호환성이 손상되는 변경은 대체 파일 엔드포인트가 GETHEAD 요청과만 일치하게 함으로써 문제를 부분적으로 해결합니다.

도입된 버전

ASP.NET Core 7.0 RC 2

이전 동작

StaticFilesEndpointRouteBuilderExtensions.MapFallbackToFile로 구성된 엔드포인트가 요청 메서드로 만든 요청과 일치했습니다.

새 동작

StaticFilesEndpointRouteBuilderExtensions.MapFallbackToFile로 구성된 엔드포인트가 HEADGET 요청과만 일치합니다.

호환성이 손상되는 변경의 형식

이 변경은 이진 호환성에 영향을 줄 수 있습니다.

변경 이유

이 변경은 .NET 6에서 실수로 도입된 호환성이 손상되는 더 큰 변경 내용을 부분적으로 되돌립니다. HEAD 또는 GET 이외의 메서드를 사용하여 요청을 수행할 때 대체 파일 응답을 예상하는 것은 매우 드문 일이기 때문에 이 호환성이 손상되는 변경의 영향은 최소화됩니다.

대체 파일 엔드포인트가 HEAD 또는 GET 이외의 메서드로 요청을 일치시키도록 하려면 WithMetadata()를 사용하여 추가 HTTP 요청 메서드를 지정할 수 있습니다. 예를 들어:

endpoints.MapFallbackToFile("index.html")
    .WithMetadata(new HttpMethodMetadata(new[] { /* List supported methods here */ }));

영향을 받는 API