У нас есть несколько старых веб-сайтов, на которых работает классический 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.