Próbuję przesyłać wideo QuickTime do iPhone'a z aplikacji sieci web ASP.NET za pomocą HttpHandler. Podczas hostowania aplikacji internetowej z IIS 5.1 (Windows XP) odtwarzacz wideo otwiera się, a następnie wyświetla komunikat "Serwer nie jest poprawnie skonfigurowany". Jednak przy korzystaniu z IIS 7.5 (Windows 7) wideo gra dobrze.Odtwarzanie wideo QuickTime na iPhone'a przy użyciu HttpHandler i IIS 5.1
W środowisku produkcyjnym są uruchomione usługi IIS 6.0 i występuje ten sam problem, ponieważ próba odtworzenia wideo na telefonie iPhone za pośrednictwem Mobile Safari powoduje wyświetlenie powyższego błędu.
Sprawdziłem nagłówki HTTP i wygląda na to, że są praktycznie takie same między dwoma serwerami (poza kilkoma, takimi jak nagłówek Server, z tą różnicą, że są wyświetlane w innej kolejności , choć wątpię, że to powoduje problem.
Zgodnie z this thread w Grupach dyskusyjnych Google, dodanie nagłówka "Akceptuj zakresy: bajty" może pomóc, ale nie miało to znaczenia dla nas. Dodałem również nagłówek ETag, bez żadnego szczęścia.
Kod faktycznie odpowiedzialny za wysyłanie pliku wygląda mniej więcej tak:
Context.Response.Buffer = true;
Context.Response.ContentType = "video/x-m4v";
Context.Response.AppendHeader("Content-Disposition", "filename=\"Video.m4v\"");
Context.Response.AppendHeader("Content-Length", "23456789");
Context.Response.AppendHeader("Accept-Ranges", "bytes");
Context.Response.AppendHeader("ETag", GetETag(path));
Context.Response.TransmitFile(path);
Powyższy kod, który przenosi pliki wydaje się być prawidłowo funkcjonują i pliki wideo odtwarzane poprawnie we wszystkich przeglądarkach desktopowych i kiedy gospodarzem z IIS 7.5 w systemie Windows 7. Problem jest widoczny tylko podczas próby odtwarzania plików wideo na telefonie iPhone przy użyciu Mobile Safari przy użyciu powyższego kodu z aplikacją WWW ASP.NET hostowaną w IIS 5.1 lub IIS 6.0.
Czy ktoś jeszcze doświadczył czegoś podobnego i ma pomysły na to, co mogę zrobić, aby to zadziałało?
Porada Accept-Ranges pomogła mi z podobnym problemem z ASP.NET MVC. – kim3er