2013-02-18 5 views
5

Tôi đang sử dụng Mono 3.x, trên Mac OSX và tôi đang cố trả lại tệp tĩnh bằng ServiceStack. Mã này (và phải là, theo các câu trả lời khác) rất đơn giản:Lỗi khi viết tiêu đề khi trả lại 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); 
    } 
} 

Đối tượng phim là một DTO đơn giản.
Khi Nhận của tôi() được gọi là tôi thấy các lỗi sau đây trong cửa sổ Terminal của tôi:

ERROR: Error occured while Processing Request: [IOException] Write failure, Exception: Write failure INFO: Failed to write error to response: {0}, Exception: Cannot be changed after headers are sent. ERROR: Error in HttpListenerResponseWrapper: Write failure, Exception: Write failure

ServiceStack là phiên bản 3.9.35; Trình biên dịch Mono JIT phiên bản 3.0.3 (master/39c48d5 Tue Jan 8 12:12:24 EST 2013); .NET 4.5.

Tôi đang làm gì sai?

+0

vẻ để được giải quyết với các phiên bản mới nhất của MonoDevelop (nay là sử dụng Xamarin Studio) và ServiceStack (3.9.38) . – Richard

+1

Bạn có thể thêm giải pháp mà bạn đã tìm thấy làm câu trả lời không? Điều này sẽ giúp người dùng trong tương lai tìm thấy câu trả lời nhanh hơn và bạn kiếm được nhiều danh tiếng hơn. –

+0

@Brent chỉnh sửa tuyệt vời, săn tìm huy hiệu? – CodeCaster

Trả lời

1

tôi đã có cùng một vấn đề trên máy tính của cha tôi, nó làm việc cho tôi bằng cách sử dụng:

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); 
+0

Hi ValterZHD, tôi không thấy sự khác biệt với mã của tôi, ngoại trừ một dấu ngoặc đơn thêm mà làm cho trình biên dịch phàn nàn. – Richard