0

我有一个程序使用 webrequest 和 webresponse 每 3 秒检查一次文件是否存在。如果该文件存在,则它会执行某些操作,等等,该部分工作正常。我有一个网页,它通过创建带有输入到页面中的消息和其他变量的文件来控制程序,然后创建它并将其发送到程序正在检查的文件夹中。还有一个“停止”按钮可以删除该文件。

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

我考虑过使用元标记来防止缓存,但是动态命名文件是否也能解决这个问题?如何使程序能够检查仅知道文件名第一部分的文件?我找到了检查本地机器上目录的解决方案,但这在这里行不通。

欢迎任何想法,谢谢。

4

2 回答 2

0

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

使用“缓存控制”,您可以告诉代理/浏览器不要缓存文件。 http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html

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

(要对此进行测试,请使用您喜欢的浏览器打开缓存并关闭

于 2009-09-22T15:36:41.060 回答
0

一个简单的技巧是每次都在 url 中添加一些独特的东西

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

向 URL 添加随机数会强制它保持新鲜。即使您不使用查询字符串参数,IIS 也不知道这一点,因此无论如何都会再次执行该页面。

于 2009-09-22T15:39:59.807 回答