如何防止使用 ServiceStack 将失败的请求记录到 favorite.ico
How to prevent the logging of a failed request to favorite.ico with ServiceStack
这将是围绕 favorite.ico 和 ServiceStack 网络服务框架的第 5 个此类问题。我了解未找到日志记录资源背后的基本原理,并且大多数解决方法都使用内置的未找到处理程序,例如
appHost.CatchAllHandlers.Add((httpMethod, pathInfo, filePath) => {
if (pathInfo.StartsWith("favicon"))
return new NotFoundHttpHandler();
});
但这仍然会向日志基础结构记录异常。有没有一种方法可以两全其美,在找不到资源时记录,而不记录 favorite.ico 的请求。我必须写代码吗?代码吓到我了:)
谢谢,
斯蒂芬
日志记录在 NotFoundHttpHandler 本身中,因此为了避免记录你会 return 一个不记录的自定义 HttpHandler,例如:
appHost.CatchAllHandlers.Add((httpMethod, pathInfo, filePath) => {
if (pathInfo.StartsWith("/favicon"))
return new CustomActionHandler((req,res) => {
res.StatusCode = 404;
res.StatusDescription = "Favicon not found";
res.EndRequest();
});
return null;
});
这将是围绕 favorite.ico 和 ServiceStack 网络服务框架的第 5 个此类问题。我了解未找到日志记录资源背后的基本原理,并且大多数解决方法都使用内置的未找到处理程序,例如
appHost.CatchAllHandlers.Add((httpMethod, pathInfo, filePath) => {
if (pathInfo.StartsWith("favicon"))
return new NotFoundHttpHandler();
});
但这仍然会向日志基础结构记录异常。有没有一种方法可以两全其美,在找不到资源时记录,而不记录 favorite.ico 的请求。我必须写代码吗?代码吓到我了:)
谢谢, 斯蒂芬
日志记录在 NotFoundHttpHandler 本身中,因此为了避免记录你会 return 一个不记录的自定义 HttpHandler,例如:
appHost.CatchAllHandlers.Add((httpMethod, pathInfo, filePath) => {
if (pathInfo.StartsWith("/favicon"))
return new CustomActionHandler((req,res) => {
res.StatusCode = 404;
res.StatusDescription = "Favicon not found";
res.EndRequest();
});
return null;
});