6 asp.net middleware asp.net-core-mvc asp.net-core asp.net-core-middleware
我意识到我需要为 httpcontext 等编写一些中间件,但因此我尝试从 Microsoft 获取一个示例,问题是即使在外部有断点...app.Use并且app.Run ,使用 F11 它也不会执行进入代码。
我怎样才能进入这段代码来查看这些值?
启动.cs文件
public void Configure(IApplicationBuilder app)
{
var request = new Request("api/menu/create", Method.POST);
request.AddParameter("currentApplicationId", 1, ParameterType.QueryString);
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
// UPDATE : Code above prevented from being able to step into below?
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
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}");
});
}
Run Code Online (Sandbox Code Playgroud)
在 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?}");
});
Run Code Online (Sandbox Code Playgroud)
希望它能解决您的问题。
| 归档时间: |
|
| 查看次数: |
7781 次 |
| 最近记录: |