我正在使用v3.9.56.0,当我在返回的ToOptimizedResult
上调用HttpResult
(从我自己的服务运行时调用)时,我遇到了堆栈溢出异常一项服务。当我深入挖掘时,我发现异常来自JsonSerializer
。
以下是返回内容的代码片段:
return new HttpResult(new FileInfo(Path.Combine(path, file)), true)
答案 0 :(得分:3)
这种情况正在发生,因为ToOptimizedResult
期望收到一个DTO响应对象,它可以压缩以创建CompressedResult
响应。
但是,您提供的HttpResult
实际上是您正在加载的文件的byte[]
/ string
DTO响应对象的包装器,此包装器是一种复杂类型,并且不是'真的是你想要优化的东西。
如果您的文件是二进制文件,则应返回内容的byte[]
,如果是纯文本,则返回string
。然后ToOptimizedResult
可以优化该数据。
// Binary file type
return File.ReadAllBytes(Path.Combine(path, file)); // returns byte[]
// Plain text file type
return File.ReadAllText(Path.Combine(path, file)); // returns string