14

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

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

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

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

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

+0

Это уже есть в кавычках, если вы используете ** серверную сторону **, тогда используйте 'WinHttpRequest', если ** клиентская сторона ** использует' Msxml2.ServerXMLHTTP'. – Lankymart

+1

_if на стороне клиента Msxml2.ServerXMLHTTP_? В цитате: _ServerXMLHTTP предназначен для серверных приложений ..._ – cychoi

ответ

3

WinHttpRequest стар, и это, кажется, не как работать с .Net. По крайней мере, мой сломал после последнего обновления, и я не могу повторить его.

+0

Какой груз мусора этот ответ, если что-то «WinHttpRequest» является более стабильным из двух и предназначено специально для серверных сред. Что. Net с этим связано, я не знаю, поскольку для этого есть свои собственные классы. – Lankymart

11

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

-6

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

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

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

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

+12

Для меня ваш ответ запутан. Во втором абзаце вы говорите: «WinHttpRequest стабилен, другой - нет». В третьем абзаце вы говорите: «Из нашего опыта,« MSXML2.ServerXMLHTTP.6.0 »- тот, который нужно использовать». Эти два абзаца противоречат друг другу. – slolife

1

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

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

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

Зависит от того, что вы делаете и сколько требуется управления.

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

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