C# 返回中间件中的状态代码304
当通过中间件访问文件时,我试图在ASP.Net核心应用程序中返回304未修改的状态代码 我尝试设置HTTP状态码,并按如下方式发送响应:C# 返回中间件中的状态代码304,c#,asp.net-core,C#,Asp.net Core,当通过中间件访问文件时,我试图在ASP.Net核心应用程序中返回304未修改的状态代码 我尝试设置HTTP状态码,并按如下方式发送响应: context.Response.StatusCode = 304; await context.Response.WriteAsync("Not Modified"); 但我有一个例外: 发生System.InvalidOperationException HResult=-2146233079 消息=写入非主体304响应。 Source=Microsof
context.Response.StatusCode = 304;
await context.Response.WriteAsync("Not Modified");
但我有一个例外:
发生System.InvalidOperationException HResult=-2146233079消息=写入非主体304响应。
Source=Microsoft.AspNetCore.Server.Kestrel StackTrace: 在Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame.HandleNonBodyResponseWrite()中 在Microsoft.AspNetCore.Server.Kestrel.Internal.Http.Frame.d_u183.MoveNext()中 ---来自引发异常的上一个位置的堆栈结束跟踪--- 在System.Runtime.CompilerServices.TaskWaiter.ThrowForNonSuccess(任务 (任务) 在System.Runtime.CompilerServices.TaskWaiter.HandleNonSuccessAndDebuggerNotification(任务 (任务) 在System.Runtime.CompilerServices.TaskAwaiter.GetResult()中 在中的Adapt.REST.ServeStaticFilesMiddleware.d_u8.MoveNext()处 C:\adaptesource\Xivic\Adapt.Services\ServeStaticFilesMiddleware.cs:line 113.例外情况: 很明显,我不能使用WriteAsync或SendFileAsync,因为它们都发送一个包含正文的响应
如何在没有正文的情况下将304发送回客户端?在设置状态代码后不做任何操作即可实现预期功能
context.Response.StatusCode = 304;
return;
如果使用空字符串调用WriteAsync,则不会显示错误:
wait context.Response.WriteAsync(“”)代码>感谢您的回复:)。它帮助我解决了这个问题。