BindingFlags.NonPublic
не возвратит результатов отдельно. Как оказалось, объединение его с BindingFlags.Instance
добивается цели.
MethodInfo dynMethod = this.GetType().GetMethod("Draw_" + itemType,
BindingFlags.NonPublic | BindingFlags.Instance);
I've tested it, with a home-made server and a simple response. Not sure if the response is well-formed because no browser understands it 100% OK. But here are the results:
Here's the complete response, if anyone finds any error, please tell me and I'll try again:
HTTP/1.1 200 OK
Date: Tue, 01 Dec 2009 23:27:30 GMT
Vary: Accept-Encoding,User-Agent
Content-Length: 681
Content-Type: Multipart/mixed; boundary="sample_boundary";
Multipart not supported :(
--sample_boundary
Content-Type: text/css; charset=utf-8
Content-Location: http://localhost:2080/file.css
body
{
background-color: yellow;
}
--sample_boundary
Content-Type: application/x-javascript; charset=utf-8
Content-Location: http://localhost:2080/file.js
alert("Hello from a javascript!!!");
--sample_boundary
Content-Type: text/html; charset=utf-8
Content-Base: http://localhost:2080/
<html>
<head>
<link rel="stylesheet" href="http://localhost:2080/file.css">
</head>
<body>
Hello from a html
<script type="text/javascript" src="http://localhost:2080/file.js"></script>
</body>
</html>
--sample_boundary--
По моему опыту, составные ответы работают в Firefox, но не в Internet Explorer. Это было 2 года назад, при использовании браузеров того времени.
У меня были многочастные HTTP-ответы, работающие для потока изображений JPEG. Например, IP-камеры Axis используют поток движущихся изображений JPEG для Firefox. Для Internet Explorer Axis требует использования подключаемого модуля.
Если поддержка только Firefox соответствует вашим требованиям, то я рекомендую установить заголовок длины содержимого в каждой части многостраничного ответа.
Две идеи:
Content-type: multipart / x-mixed-replace
- все остальное должно остаться прежним.