我为网站定制了CMS,并希望根据数据库中的内容输出robots.txt
文件,而不必实际修改文件系统。
我知道通常IIS会将这样的文件缓存为静态内容,只要它没有更改,就不必每次都从磁盘加载它。
我正考虑将内容存储在内存中的robots.txt
(静态字符串或单例)中,然后HttpHandler
将输出内容。
这是一个好方法吗?有没有更好的办法?我想理想地模仿IIS静态文件缓存。
答案 0 :(得分:0)
我认为你指出了正确的方法。检查this。
您拥有对响应代码的所有控制权,因此只需根据数据库中的内部日期处理该响应代码。每次文件“更改”时,您都可以设置新的ETag。
Response.AddHeader("ETag","\"" + Guid.NewGuid().ToString() + "\"");
这将提供您在缓存中需要的所有控件。