Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在进入控制器之前调试.net中的挂起请求_C#_.net_.net Core - Fatal编程技术网

C# 如何在进入控制器之前调试.net中的挂起请求

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”--压缩 事件日志和调试控

如何调试针对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我看不出这有什么帮助。在这种情况发生之前,请求工作正常。