2013-02-18 8 views
5

Mam Mono 3.x, na Mac OSX i próbuję zwrócić plik statyczny z ServiceStack. Kod jest (i powinien być, zgodnie z innymi odpowiedziami) bardzo prosty:Błąd podczas zapisywania nagłówków podczas zwracania 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); 
    } 
} 

Obiekt filmu to prosty DTO.
Kiedy mój get() jest wywoływana widzę następujący błąd w moim oknie terminala:

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 jest wersja 9.3.35; Mono Kompilator JIT w wersji 3.0.3 (master/39c48d5 Tue Jan 8 12:12:24 EST 2013); .NET 4.5.

Co robię źle?

+0

wydaje się być rozwiązany z najnowszą wersją MonoDevelop (obecnie za pomocą Xamarin Studio) i ServiceStack (09.3.38) . – Richard

+1

Czy możesz dodać rozwiązanie, które znalazłeś jako odpowiedź? Pomoże to przyszłym użytkownikom znaleźć odpowiedź szybciej i zyskasz więcej reputacji. –

+0

@Brent świetna edycja, polowanie na odznaki? – CodeCaster

Odpowiedz

1

miałem ten sam problem na komputerze taty, pracował dla mnie za pomocą:

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, Nie widzę różnicy w moim kodzie, z wyjątkiem dodatkowego nawiasu, który powoduje, że kompilator narzeka. – Richard