различия между Msxml2.ServerXMLHTTP и WinHttp.WinHttpRequest? - PullRequest
15 голосов
/ 22 июля 2009

только когда я наконец понял разницу между Msxml2.XMLHTTP и Msxml2.ServerXMLHTTP

http://support.microsoft.com/kb/290761

XMLHTTP разработан для клиентских приложений и основан на URLMon, который построен на основе Microsoft Win32 Internet (WinInet). ServerXMLHTTP предназначен для серверных приложений и опирается на новый стек HTTP-клиентов WinHTTP. ServerXMLHTTP обеспечивает надежность и безопасность и безопасен для сервера. Для получения дополнительной информации см. Документацию MSXML Software Development Kit (SDK).

вдруг нахожу WinHttp.WinHttpRequest ...

http://msdn.microsoft.com/en-us/library/aa382925(VS.85).aspx

Службы Microsoft Windows HTTP (WinHTTP) предоставляют разработчикам высокоуровневый интерфейс с поддержкой сервера для интернет-протокола HTTP / 1.1. WinHTTP предназначен для использования главным образом в серверных сценариях серверными приложениями, которые взаимодействуют с HTTP-серверами.

Итак, чем это отличается от Msxml2.ServerXMLHTTP

(хорошо, неявный вопрос, какой из них я должен использовать ...)

Ответы [ 3 ]

11 голосов
/ 30 ноября 2009

Msxml2.XMLHTTP и Msxml2.ServerXMLHTTP - это два компонента, которые используют один и тот же интерфейс для извлечения файлов XML через протокол HTTP. Первый основан на URLMon, который опирается на WinINet. Последний основан на WinHTTP, который является дружественной заменой для WinINet. Проще говоря - ServerXMLHTTP = XML + WinHTTP.

2 голосов
/ 02 ноября 2015

Аналогично, недавнее приложение обнаружило, что я задаю похожие вопросы, однако после выполнения некоторых элементарных исследований я упростил следующее:

WinHTTP :: высокоуровневый интерфейс к интернет-протоколу HTTP / 1.1

ServerXMLHTTP :: ServerXMLHTTP рекомендуется для серверных приложений, а XMLHTTP рекомендуется для клиентских приложений

Зависит от того, что вы делаете и какой контроль вам необходим.

Явно запрещенные элементы ServerXMLHTTP часто вызывают раздражение у некоторых разработчиков, поскольку для эффективной реализации требуется немного больше «работы». Рука помощи с явно разрешенными объектами WinHTTP и XMLHTTP отсутствует в ServerXMLHTTP.

Если для вашего решения требуются элементы масштабирования, масштабирования Enterprise, возможно, выберите соответствующий.

0 голосов
/ 11 мая 2011

Мы использовали оба этих компонента в классических веб-приложениях ASP. Каждую минуту их вызывали много раз, от сервера к серверу asp, на странице сервера вызывая еще одну страницу asp или aspx на стороне сервера).

Server.CreateObject("WinHttp.WinHttpRequest.5.1")
Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")

Наш опыт показывает, что WinHttpRequest стабилен, а другой нет. Нам пришлось удалить весь наш объект create с serverxmlhttp и заменить его на winhttprequest, поскольку через некоторое время он занимал много памяти, зависал или пул приложений iis не отвечал или стал очень медленным.

Я не знаю подробных спецификаций каждого компонента, но могу заверить вас, что из нашего опыта "MSXML2.ServerXMLHTTP.6.0" - тот, который нужно использовать.

...