如何将 headers 添加到从 ServiceStack 的虚拟文件系统下载的文件中?
How do I add headers to files downloaded from ServiceStack's Virtual File System?
我正在利用 ServiceStack
的虚拟文件系统和 Cache-Control
的 code-snippet on the wiki to minify content at startup-time. However, I don't see a way that I can add in custom headers, like those recommended,等等
我可能会使用全局响应过滤器,但 a) 我不认为它们可以处理 "static" 文件,并且 b) 需要一些粗糙的响应逻辑。
如何将 headers 添加到 ServiceStack 中 IVirtualPathProvider
提供的内容?
如果文件自上次请求后未被修改,则静态文件由 StaticFileHandler. It already adds Cache-Control and LastModified headers and will return a 304 提供。
InMemoryVirtualPathProvider
的最新版本是 rewritten to maintain consistent behavior with the new S3VirtualPathProvider,现在包含 StaticFileHandler
可以利用的每个文件的 LastModified 时间戳。
此更改适用于现在 available on MyGet 的 v4.0.47。
使用自定义 StaticFilesHandler ResponseFilter 添加 headers
您仍然可以通过注册 StaticFileHandler.ResponseFilter
添加自己的自定义 HTTP 响应 headers,例如:
StaticFileHandler.ResponseFilter = (req,res,file) => {
res.AddHeader(headerName, headerValue);
//res.Close(); Closing the Response will stop further processing
};
我正在利用 ServiceStack
的虚拟文件系统和 Cache-Control
的 code-snippet on the wiki to minify content at startup-time. However, I don't see a way that I can add in custom headers, like those recommended,等等
我可能会使用全局响应过滤器,但 a) 我不认为它们可以处理 "static" 文件,并且 b) 需要一些粗糙的响应逻辑。
如何将 headers 添加到 ServiceStack 中 IVirtualPathProvider
提供的内容?
如果文件自上次请求后未被修改,则静态文件由 StaticFileHandler. It already adds Cache-Control and LastModified headers and will return a 304 提供。
InMemoryVirtualPathProvider
的最新版本是 rewritten to maintain consistent behavior with the new S3VirtualPathProvider,现在包含 StaticFileHandler
可以利用的每个文件的 LastModified 时间戳。
此更改适用于现在 available on MyGet 的 v4.0.47。
使用自定义 StaticFilesHandler ResponseFilter 添加 headers
您仍然可以通过注册 StaticFileHandler.ResponseFilter
添加自己的自定义 HTTP 响应 headers,例如:
StaticFileHandler.ResponseFilter = (req,res,file) => {
res.AddHeader(headerName, headerValue);
//res.Close(); Closing the Response will stop further processing
};