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