Назад | Перейти на главную страницу

Ограничение кеш-хранилища для веб-запросов на стороне сервера IIS

У нас есть несколько старых веб-сайтов, на которых работает классический asp, который вызывает серию HTTP-запросов к внешним системам (в данном случае geo-ip-lookup). Это всего лишь один запрос, результатом которого является код страны в качестве ответа (2 байта), но поскольку веб-запрос на веб-странице вызывает (что я предполагаю по крайней мере) ActiveX-экземпляр IE, он будет кэшировать его в " Временные файлы Интернета », предположительно как пользователь« СЕТЕВОЙ СЕРВИС ».

Он хранит все эти ответы в C: \ WINDOWS \ Temp \ Temporary Internet Files \ Content.IE5, но я не придумал способ ограничить объем пространства, которое ему следует разрешить использовать.

Я даже не уверен, что это поможет, так как основная проблема - это 2-байтовый ответ, который «на диске» будет использовать 1 КБ пространства (размер кластера) на каждый кешированный ответ.

Я, конечно, мог бы запланировать задачу, которая очистит кеш, но я бы предпочел отключить ее или просто ограничить разумным объемом пространства. Но как мне это сделать?

Решением было использовать ServerXMLHTTP вместо ActiveX-версии XMLHttpRequest (или эквивалентной).

https://msdn.microsoft.com/en-us/library/ms759169(v=vs.85).aspx

В принципе:

var objSrvHTTP = Server.CreateObject ("Msxml2.ServerXMLHTTP.6.0");

Или какую бы версию вы ни установили («Microsoft.XMLHTTP» или «Msxml2.ServerXMLHTTP» - другие варианты для разных версий), затем используйте ее как любой XMLHttpRequest.