diff --git a/Src/Dlhis.Basic/Organization/Filters/IgnoreDataCaseAttribute.cs b/Src/Dlhis.Basic/Organization/Filters/IgnoreDataCaseAttribute.cs index 7af59c1e..a86442cf 100644 --- a/Src/Dlhis.Basic/Organization/Filters/IgnoreDataCaseAttribute.cs +++ b/Src/Dlhis.Basic/Organization/Filters/IgnoreDataCaseAttribute.cs @@ -17,21 +17,22 @@ public class IgnoreDataCaseAttribute : Attribute, IAsyncResultFilter var type = result.Value?.GetType(); if (type.IsGenericType && type.IsAssignableTo(typeof(IApiResult))) { - var apiResult = result.Value as DefaultApiResult; - - var body = new + if (result.Value is DefaultApiResult apiResult && !context.HttpContext.Response.HasStarted) { - code = 200, - msg = "操作成功", - data = apiResult.Data - }; + var body = new + { + code = 200, + msg = "操作成功", + data = apiResult.Data + }; - var json = JsonConvert.SerializeObject(body); - var bytes = Encoding.UTF8.GetBytes(json); + var json = JsonConvert.SerializeObject(body); + var bytes = Encoding.UTF8.GetBytes(json); - context.HttpContext.Response.ContentType = "application/json"; - context.HttpContext.Response.ContentLength = bytes.Length; - await context.HttpContext.Response.BodyWriter.WriteAsync(bytes); + context.HttpContext.Response.ContentType = "application/json"; + context.HttpContext.Response.ContentLength = bytes.Length; + await context.HttpContext.Response.BodyWriter.WriteAsync(bytes); + } } }