c# - HttpActionContext 唯一请求标识符
问题描述
我正在我的 Web API 应用程序上运行一些负载测试,并试图找到一种方法来识别每个请求进入方法OnActionExecuted
和OnActionExecuting
我的问题是,在对象中HttpActionExecutedContext
,HttpActionContext
我是否可以获得某种唯一标识符来识别单个请求。
我已经尝试在我的查询字符串中添加一个 unix 时间戳,但是请求通常是同时进来的,所以这没有帮助。
我希望这些对象具有某种属性?
解决方案
如果要检查请求执行时间,可以使用 serilog
在您的 statup.cs 上设置此代码
Log.Logger = new LoggerConfiguration()
.Enrich.With<HttpRequestIdEnricher>()
.Enrich.With<HttpRequestNumberEnricher>()
.Enrich.With<HttpSessionIdEnricher>()
.Enrich.With<HttpRequestTraceIdEnricher>()
.WriteTo.Debug()
.CreateLogger();
HttpRequestIdEnricher HttpRequestNumberEnricher HttpSessionIdEnricher HttpRequestTraceIdEnricher
如果 Serilog 不附带这些可能是单独的 nuget 包,只是为 htem 搜索
Install Serilog
and Serilog.Sinks.Debug
对于每个请求,您应该在控制台中看到结果
[05:06:14 INF] HTTP GET /api/v1/blablabla/blablabla 在 7530 毫秒内响应 401
希望能帮助到你
推荐阅读
- javascript - 如何在 JavaScript 中的对象内部的函数内部使用“for”,并访问数组中的对象
- typescript - 打字稿将属性添加到内联界面
- html - Postitionate Bloc 和 devid 屏幕网格引导程序
- file - 用于保存特定图像的 GUI
- python - 无法将 rpy2.robjects 导入为 robjects
- c# - 如何在资源中使用绑定来避免错误?
- php - Travis 构建中的“没有活动事务”,但测试在本地运行
- android - NFC阅读器没有在android中连续读取NFC标签
- python - 训练并加载了 sklearn 模型,但无法访问模型以执行预测
- python - 为什么我的 DataFrame 不能为 .values() 调用?