返回FileInfo HttpResult时写入标头时出错

本文关键字:出错 FileInfo HttpResult 返回 | 更新日期: 2023-09-27 17:59:52

我在Mono 3.x上,在Mac OSX上,我正试图用ServiceStack返回一个静态文件。根据其他答案,代码非常简单:

public class AirPlayService : Service
{
    public object Get(Movie request)
    {
        var fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Movies", request.Name);
        var file = new FileInfo(fileName);
        return new HttpResult(file, asAttachment:false); 
    }
}

Movie对象是一个简单的DTO
当我的Get()被调用时,我在终端窗口中看到以下错误:

错误:处理请求时出错:[IOException]写入失败,异常:写入失败信息:无法将错误写入响应:{0},异常:发送标头后无法更改。错误:HttpListenerResponseWrapper:写入失败,异常:写入失败

ServiceStack版本为3.9.35;MonoJIT编译器3.0.3版(master/39c48d5美国东部时间2013年1月8日星期二12:12:24)。净4.5。

我做错了什么?

返回FileInfo HttpResult时写入标头时出错

我在爸爸的电脑上遇到了同样的问题,它通过使用对我有效

public class AirPlayService : Service
{
    public object Get(Movie request)
    {
        var fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ( "Movies", request.Name);
        var file = new FileInfo(fileName);
        return new HttpResult(file, asAttachment:false);