5

我在 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 版本;Mono JIT 编译器版本 3.0.3(master/39c48d5 Tue Jan 8 12:12:24 EST 2013);.NET 4.5。

我究竟做错了什么?

4

1 回答 1

1

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

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); 
于 2014-01-01T16:24:09.867 回答