我写了一个名为'default.cshtml'的ServiceStack Razor页面。我想在它上面添加一个全局响应过滤器,但它无法正常工作。怎么修好呢?
private static void AddFilters(IAppHost appHost) { appHost.GlobalResponseFilters.Add((req, res, dto) => { res.AddHeader("X-Powered-By", "mylvgth"); }); }
GlobalResponseFilters用于填充请求DTO并由服务执行的请求。对于其他请求,您可以使用在请求开始时执行的PreRequestFilters。
Razor页面没有响应过滤器,因为在已经写入响应之后,您无法将标题添加到请求,仅适用于“查看页面”,它首先调用服务,然后在呈现页面之前执行响应过滤器。