我正在尝试编写一个 IHttpHandler,它可以处理来自 Windows Media Player/Silverlight 的流媒体请求。这意味着响应这样的原始 HTTP 请求(取自协议文档)
"GET /ms/contoso_100_files/0MM0.wmv HTTP/1.0"
"Accept: */*"
"User-Agent: NSPlayer/4.1.0.3925"
"Host: netshow.micro.com"
"Pragma: no-cache,rate=1.000000,stream-time=0,stream-offset=0:0,request-context=1,max-duration=0"
"Pragma: xClientGUID={2200AD50-2C39-46c0-AE0A-2CA76D8C766D}"
当我进入 ProcessRequest 方法时, context.Request.Headers 集合似乎没有公开 Pragma 值。此外,它永远无法真正做到,因为有两行具有相同的键(Pragma)!
我假设如果我能得到原始数据包,我可以手动解析它们。
也就是说,接下来我要做的是构造一个 HttpWebRequest 类型的辅助请求。这也包含一个类似的字典,我希望它也无法接受两个相同的编译指示值而不覆盖另一个。
我错过了什么吗?