【发布时间】:2016-06-24 06:32:10
【问题描述】:
public void Configure(IApplicationBuilder app) {
app.Map("/hahaha", HandleMapTest);
app.Run(async (context) => {
await context.Response.WriteAsync("Hello World!");
});
}
public static void HandleMapTest(IApplicationBuilder app) {
app.Use(async (context, next) => {
await context.Response.WriteAsync("Before!");
await next.Invoke();
await context.Response.WriteAsync("After!");
});
}
结果响应只有“Before!After!”,但缺少“Hello World!”。为什么会这样?
Asp.net docs 说:
避免在调用下一个之后修改 HttpResponse,管道中的下一个组件之一可能已写入响应,导致它被发送到客户端。
我不明白“导致它被发送给客户”是什么意思。
【问题讨论】:
标签: c# asp.net middleware