C# 如何在进入控制器之前调试.net中的挂起请求
如何调试针对Web Api的HTTP请求,这些请求保持挂起而不进入控制器 这是我的要求 curl“-X选项-H”访问控制请求方法:POST“-H”来源:“-H”用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.116“-H”访问控制请求头:内容类型,X-auth-token”--压缩 事件日志和调试控制台中没有任何内容。 这些挂起的请求在随机时间发生,在重新启动应用程序之前不会通过(在某些情况下,它们进入控制器,但经过很长时间)C# 如何在进入控制器之前调试.net中的挂起请求,c#,.net,.net-core,C#,.net,.net Core,如何调试针对Web Api的HTTP请求,这些请求保持挂起而不进入控制器 这是我的要求 curl“-X选项-H”访问控制请求方法:POST“-H”来源:“-H”用户代理:Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.116“-H”访问控制请求头:内容类型,X-auth-token”--压缩 事件日志和调试控
我使用的是.net Core 2.2您可以使用
中间件
public class RequestDiagnosticsMiddleware
{
private readonly RequestDelegate _next;
public RequestDiagnosticsMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext context)
{
// I don't yet called Controller/Action.
//log the essential parts of the request here
// Call the next delegate/middleware in the pipeline
await _next(context);
}
}
然后将中间件作为服务添加到启动配置中
public void Configure(IApplicationBuilder app)
{
app.UseMiddleware<RequestDiagnosticsMiddleware>();
}
public void配置(IApplicationBuilder应用程序)
{
app.UseMiddleware();
}
另一个用户建议使用中间件
您的另一个选择是使用ActionFilters。这些命令将在控制器上的操作之前立即执行,并允许在控制器级别对请求进行细粒度控制
请查看以下链接以获得更详细的解释:人们正在投票关闭您的帖子,原因是
内容太广泛
,您需要在帖子中添加内容并使其更具体,否则在您得到答案之前,帖子可能会被关闭。将用于发出这些API请求的代码添加到您的帖子中,以及您所说的随机发生的代码。事件日志和调试控制台不会记录HTTP请求。您的web服务器的日志就是这样做的。你在使用IIS吗?你检查过IIS的日志了吗?@Mirhat当我说发布你的API请求代码时,我的意思是发布你的C#code
请求。看看Telerik Fiddler,看看它是否有帮助。@RyanWilson我看不出这有什么帮助。在这种情况发生之前,请求工作正常。