【发布时间】:2019-01-23 23:36:59
【问题描述】:
我有使用 asp.net core 2.1 运行的 SPA Angular 6 应用程序。出乎意料的是,对 api 控制器的 http 请求永远不会得到答复。当我查看浏览器调试时,它将请求显示为“待处理”。所以我添加了一些中间件:
public static void UseRequestLogger(this IApplicationBuilder app) {
app.Use(async (context, next) =>
{
var logger = context.RequestServices.GetService<ILogger<MyLoggerService>>();
var id = Guid.NewGuid();
logger.LogDebug($"starting request: {context.Request.Path}-{id}");
await next();
logger.LogDebug($"ending request: {context.Request.Path}-{id}");
});
}
然后我在 StartUp.cs 的 Configure 方法的顶部调用 app.UseRequestLogger()。当我的请求在浏览器中停留在“待处理”时,我注意到中间件从未被处理。我有点不知道从这里去哪里。如果中间件没有被命中,在此之前会发生什么,我该如何检查?
【问题讨论】:
-
应用程序日志说什么?
-
@poke nothin'....一切正常,或者无论如何看起来都是这样。
-
但是这些请求会到达服务器吗?
-
@poke 据我所知,没有。没有日志记录它到达服务器,但是如果我在 IIS 中终止应用程序池,我会收到 502 错误,所以它必须到达服务器的某些部分。
-
所以你在 IIS 后面运行?那么 IIS 日志会说什么?任何请求都有效吗?如果您在没有 IIS 的情况下运行您的应用程序,它是否有效?
标签: asp.net-core