捕获所有传入的请求 asp.net MVC 控制器

本文关键字:asp 请求 net MVC 控制器 | 更新日期: 2023-09-27 18:33:16

在 asp.net 处理请求之前,有没有办法在不使用ActionFilter的情况下捕获所有传入控制器的请求?

捕获所有传入的请求 asp.net MVC 控制器

Startup.cs文件中将此代码放入 Configure() 方法中:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    app.UseMvc();
    //your code below
    app.Run(async (context) =>
    {
        string body;
        using (Stream receiveStream = context.Request.Body)
        {
            using (StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8))
            {
                body = readStream.ReadToEnd();
            }
        }
        Console.WriteLine(body.ToString());
    });

}

然后请注意,app.UseMvc()始终具有优先级,这意味着应用中指定的任何路由都仅转到控制器。 因此,要么指定另一个路由,要么不使用 MVC 中的路由,而是将路由放入拦截中app.Run(async (context)