내 미들웨어를 통해 파일에 액세스 할 때 내 ASP.Net 핵심 응용 프로그램에서 304 Not Modified 상태 코드를 반환하려고합니다.미들웨어에서 상태 코드 304 반환
나는 HTTP 상태 코드를 설정하고과 같이 응답을 다시 보내십시오 :
context.Response.StatusCode = 304;
await context.Response.WriteAsync("Not Modified");
그러나 나는이 예외가 :
System.InvalidOperationException가 발생한 HRESULT = -2146233079
메시지 = 비 본문 304 응답에 씁니다.
자료 = Microsoft.AspNetCore.Server.Kestrel 스택 트레이스 : Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame.HandleNonBodyResponseWrite (AT)에 Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame.d__183. MoveNext는() --- System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification에서 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (작업 작업) 에서 예외가 발생 된 이전 위치에서 스택 추적 --- 의 종료 (작업 작업에서 at System.Runtime.CompilerServices.TaskAwaiter.GetResult ( ) Xivic \ Adapt.Services ServeStaticFilesMiddleware.cs \ 라인 (113)의 InnerException : 둘 다 몸이 포함 된 응답을 보낼 때문에
그래서 분명히 내가 WriteAsync 또는 SendFileAsync을 사용할 수 없습니다.
본문없이 304를 클라이언트에 다시 보내려면 어떻게해야합니까?
빈 문자열로 WriteAsync를 호출하면 오류가 표시되지 않습니다. 'await context.Response.WriteAsync ("");' – Andrius