在servicestack中实现特定于范围的httphandler

时间:2013-03-19 16:07:52

标签: servicestack

我有一个ServiceStack服务,可以下载视频文件。完成此操作的代码如下。它适用于除iOS以外的所有设备(视频播放)。经过一些研究,似乎需要定制httphandler以支持“范围特定”请求。可以在以下网址中找到此问题的说明。

http://dotnetslackers.com/articles/aspnet/Range-Specific-Requests-in-ASP-NET.aspx

我想知道我是否可以自定义ServiceStack(以及我下面的下载代码)来支持范围特定的请求。谢谢。

  if (fi.Exists)
                {
                    //optimized way according to mythz
                    var aspRes = (System.Web.HttpResponse)base.RequestContext.Get<IHttpResponse>().OriginalResponse;
                    //aspRes.ContentType = "application/octet-stream";
                    aspRes.ContentType = "video/mp4";
                    aspRes.AppendHeader("Content-Disposition", "attachment; filename=" + fi.Name);
                    aspRes.AddHeader("content-length", fi.Length.ToString());
                    aspRes.TransmitFile(fi.FullName);
                    return null;
                }

1 个答案:

答案 0 :(得分:1)

注意:我上面链接的网站有用于实现MP4DownloadHandler的代码,可以插入并用于支持范围特定的下载请求。您必须使用ServiceStack注册此处理程序。所以这个问题不再适用了。

我确实有一个相关的问题,虽然(下面链接)有关访问缓存客户端的能力,因为我已经从我的自定义IHTTPHandler中绕过了ServiceStack。

I bypassed servicestack to implement my own IHTTPHandler, but now I want access to the cache