Я пытаюсь написать 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. В нем также есть похожий словарь, который, как я ожидаю, также не сможет принять два одинаковых значения прагмы без перезаписи одного.
Я что-то упустил?