我们的Web应用程序使用ASP.NET MVC 4,在Windows Server 2008R2 Datacenter和IIS 7.5上运行。
我们有一个用于URL重写的自定义HttpModule。最终被重写的一些URL是在磁盘上提供静态文件,例如传入的URL(路径是假的但你得到它): /media/virtual/mystatic.html 被重新映射到: /iis/virtual/directory/mystatic.html
这些静态文件也可以由应用程序创建。例如,发出请求,并创建日志文件,并在带有202的响应中返回日志的URL。目的是让客户端能够在浏览器中打开日志文件,并刷新它以查看执行所请求任务时所取得的进展,并对服务器上的日志文件进行更新。
但我们看到的是日志文件在客户端上打开,而即使在服务器上更新,浏览器也会继续显示首次创建的文件,没有任何更新!
我们几个月来一直在努力解决这个问题,并且已经实施了以下措施来尝试解决这个问题:
问题发生时,我们注意到以下:
对于所有这些更新/注释,我似乎很确定缓存仍然发生在IIS级别。我们还能在这做什么?当我们写入文件时,有没有办法(在ASP.NET / C#中)强制IIS查看更新?是否存在我们遗漏的IIS缓存设置?
帮助。非常感谢你的时间。