簡體   English   中英

捕獲到ASP.NET MVC控制器的所有傳入請求

[英]catch all incoming request to asp.net mvc controllers

有沒有辦法在通過asp.net處理請求之前不使用ActionFilter來捕獲所有對控制器的傳入請求?

在您的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)的攔截中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM