HttpHandlerを使用してASP.NET WebアプリケーションからiPhoneにQuickTimeビデオをストリーミングしようとしています。 IIS 5.1(Windows XP)からWebアプリケーションをホストすると、ビデオプレーヤーが開き、「サーバーが正しく構成されていません」というエラーが表示されます。ただし、IIS 7.5(Windows 7)を使用すると、ビデオが正常に再生されます。HttpHandlerとIIS 5.1を使用してiPhoneでQuicktimeビデオを再生する
実稼働環境ではIIS 6.0が動作しており、同じ問題があります.Mobile Safari経由でiPhoneでビデオを再生しようとすると、上記のエラーが表示されます。彼らは異なる順序で表示される以外
、私は、HTTPヘッダーをチェックしましたし、彼らは、(明らかに異なるものになりますサーバーヘッダ、として、少数から離れて)2つのサーバー間で実質的に同じであるように見えます私はこれが問題を引き起こしているとは考えていませんが。
Googleグループのthis threadによれば、「Accept-Ranges:bytes」ヘッダーを追加すると役立ちますが、これは違いはありません。私はまた、ETagヘッダーを追加しました。
ファイルを送信するため、実際に担当するコードは次のようになります。
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);
ファイルを送信する上記のコードは正常に機能しているように見えるとIISからホスティングときのビデオファイルは、すべてのデスクトップブラウザで正しく再生し、この問題は、IIS 5.1またはIIS 6.0でホストされているASP.NET Webアプリケーションで上記のコードを使用してMobile Safariを使用してiPhone上でビデオファイルを再生しようとするときにのみ明らかです。
他に誰もこのようなことを経験していますが、これを実現するために何ができるのですか?
Accept-Rangesのヒントは、ASP.NET MVCの同様の問題を解決しました。 – kim3er