2009-09-22 100 views
0

我有一个程序,使用webrequest和webresponse检查文件是否每3秒出现一次。如果该文件存在,它会做一些事情,如果没有,等等,该部分工作正常。我有一个网页来控制程序,方法是创建一个包含输入到页面中的消息和其他变量的文件,然后创建它并将其发送到程序正在检查的文件夹中。还有一个“停止”按钮,删除该文件。IIS /缓存问题?

这很适用,只不过一个消息启动后又被删除,当第二次使用不同的消息启动时,程序仍会看到旧消息。我看到文件被删除在IIS中,所以这不是问题。

我想过元标记来防止缓存,但会有文件被动态命名解决这个问题吗?如何让程序能够检查文件名只有第一部分已知的文件?我已经找到了在本地机器上检查目录的解决方案,但这在这里不起作用。

欢迎任何想法,谢谢。

回答

0

我并不习惯于IIS,但在Apache中,您可以创建.htaccess并设置/修改HTTP头。

通过'Cache-Control',你可以告诉代理/浏览器不要缓存文件。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html

像这样的解决方案也可以在IIS中工作,如果它确实是缓存问题。

(要进行测试,开放使用与缓存较受欢迎的浏览器关闭

0

一个简单的黑客是每次

http://www.yourdomain.com/yourpage.aspx?random=123489797

独特的东西添加到URL添加一个随机数的URL强制它是新鲜的,即使你不使用查询字符串参数,IIS不知道,所以无论如何执行页面

+0

是这种技术来使输出缓存失效吗? – Nirlep 2009-09-22 16:09:00

+0

它的作品无效如果正在使用浏览器,则两个服务器都会输出缓存以及用户浏览器缓存。 – 2009-09-22 16:19:03