限制 IIS 服务器端 webrequests 的缓存存储

限制 IIS 服务器端 webrequests 的缓存存储

我们有几个运行经典 asp 的旧网站,这些网站会向外部系统(在本例中为 geo-ip-lookup)调用一系列 HTTP 请求。这只是一个请求,结果会返回一个国家代码作为响应(2 个字节),但由于网页上的 webrequest 会调用(我至少假设是)IE 的 ActiveX 实例,它会将其缓存在“临时 Internet 文件中”,假设用户为“网络服务”。

它将所有这些响应存储在 C:\WINDOWS\Temp\Temporary Internet Files\Content.IE5 中,但我还没有找到一种方法来限制它应该允许使用的空间量。

我甚至不确定这是否有帮助,因为主要问题是 2 字节响应,其“磁盘方面”将每个缓存响应利用 1kb 的空间(簇大小)。

我当然可以安排一个任务来清除缓存,但我宁愿禁用它,或者只是将其限制在合理的空间范围内。但我该怎么做呢?

答案1

解决方案是使用 ServerXMLHTTP 而不是 XMLHttpRequest 的 ActiveX 版本(或等效版本)。

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。

相关内容