【发布时间】:2010-12-24 13:18:51
【问题描述】:
我正在尝试使用 IIS7 来托管 HTTP Live Streaming 服务器。
对于那些不熟悉 HTTPLS 的人:音频或视频流被分成小段并在网络服务器上提供。与片段一起创建一个 index.m3u8 文件,它是一个纯文本文件,按播放顺序列出当前可供下载的片段。通常,每 5 或 10 秒创建一个新段,此时 index.m3u8 会被覆盖。
所以我有一个在 Windows Server 2008 中运行的服务,它将其段和 index.m3u8 文件写入 IIS 托管的目录中。我的客户端软件已连接并且大部分时间播放音频都没有问题。
问题:尽管正在创建新的音频片段,但客户端有时会连续数小时反复收到旧的索引文件。
我有两种可能的解释:
- 创建分段的服务是 没有成功覆盖 index.m3u8 长时间 时间。
- IIS7 有一个内部文件系统 缓存它读取的内容以完成网络请求。
所以我的问题是: IIS 是否有这样的缓存,如果有,我应该进行哪些设置来禁用它?
编辑:我忘了提及这些请求的 IIS 日志显示 http 代码 200 请求正常。
【问题讨论】:
-
如何请求索引文件?它在浏览器中吗?如果有,是什么浏览器?
-
用 C++ 编写的自定义 http 客户端。以下是请求标头: GET /e1/1000/index.m3u8 HTTP/1.1 主机:[编辑] 接受:/ 接受编码:* 接受语言:en-us 用户代理:Mozilla /4.0 缓存控制:无缓存连接:关闭
标签: asp.net http iis iis-7 caching