如何用NLog在Asp.Net Core中实现长尾词请求的详细监控与记录?
- 内容介绍
- 文章标签
- 相关推荐
本文共计928个文字,预计阅读时间需要4分钟。
为了减少因单个请求挂起而拖慢整个网站的情况,给所有请求做统计是一个不错的方法。通过观察哪些请求耗时较长,我们可以找到相应的接口、代码和数据表,进行针对性的优化。
为了减少由于单个请求挂掉而拖垮整站的情况发生,给所有请求做统计是一个不错的解决方法,通过观察哪些请求的耗时比较长,我们就可以找到对应的接口、代码、数据表,做有针对性的优化可以提高效率。在asp.net web api中我们可以通过注册一个DelegatingHandler来实现该功能。那在asp.net core中该如何实现呢?
一:比较asp.net web api 和asp.net core的请求管道
观察这两张图,可以发现他们非常的相似,都是管道式的设计,在asp.net web api中,我们可以注册一系列的DelegatingHandler来处理请求上下文HttpRequestMessage,在asp.netcore中,我们可以注册一系列中间件来处理请求上下文,他们两者从功能和意义上是非常相似的,我这里这里不会详细介绍各自的管道是如何的(这样的文章非常多,博客园随处可见),他们都完成了类似中间件的功能,只是在代码设计上有一点区别。
本文共计928个文字,预计阅读时间需要4分钟。
为了减少因单个请求挂起而拖慢整个网站的情况,给所有请求做统计是一个不错的方法。通过观察哪些请求耗时较长,我们可以找到相应的接口、代码和数据表,进行针对性的优化。
为了减少由于单个请求挂掉而拖垮整站的情况发生,给所有请求做统计是一个不错的解决方法,通过观察哪些请求的耗时比较长,我们就可以找到对应的接口、代码、数据表,做有针对性的优化可以提高效率。在asp.net web api中我们可以通过注册一个DelegatingHandler来实现该功能。那在asp.net core中该如何实现呢?
一:比较asp.net web api 和asp.net core的请求管道
观察这两张图,可以发现他们非常的相似,都是管道式的设计,在asp.net web api中,我们可以注册一系列的DelegatingHandler来处理请求上下文HttpRequestMessage,在asp.netcore中,我们可以注册一系列中间件来处理请求上下文,他们两者从功能和意义上是非常相似的,我这里这里不会详细介绍各自的管道是如何的(这样的文章非常多,博客园随处可见),他们都完成了类似中间件的功能,只是在代码设计上有一点区别。

