.net核心中的中间件无法正常工作,让我步入其中

时间:2019-02-06 19:08:34

标签: asp.net asp.net-core asp.net-core-mvc middleware asp.net-core-middleware

我意识到我需要为httpcontext等编写一些中间件,但是因此我尝试甚至以Microsoft为例,而问题是即使外部有断点,也是如此... customer_id | order_id | order_date | customer_rating_before | customer_rating_today ------------------------------------------------------------------------------------ 5432567 | 11111 | 2018-12-16 | A+ | A- 6543212 | 10002 | 2019-01-21 | B+ | B+ 3456788 | 22222 | 2018-11-09 | C | B app.Use,使用F11不会进入代码。

我什至如何进入此代码以查看值?

startup.cs文件

app.Run

2 个答案:

答案 0 :(得分:1)

在ASP.NET Core中,请求处理管道app.UseMvc()应该是最后一个Middleware,如下所示,否则下一个中间件将不会调用。

app.Use((context, next) =>
{
    var cultureQuery = context.Request.Query["culture"];
    if (!string.IsNullOrWhiteSpace(cultureQuery))
    {
        var culture = new CultureInfo(cultureQuery);
        CultureInfo.CurrentCulture = culture;
        CultureInfo.CurrentUICulture = culture;
    }

    // Call the next delegate/middleware in the pipeline
    return next();
});

app.Run(async (context) =>
{
    await context.Response.WriteAsync(
    $"Hello {CultureInfo.CurrentCulture.DisplayName}");
});

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});

希望它能解决您的问题。

答案 1 :(得分:0)

请在中间或开头使用添加中间件

//Add our new middleware to the pipeline
app.UseMiddleware();

app.UseSwagger();