在返回网络的红est中获取请求中间件:: ERR_INCOMPLETE_CHUNKED_ENCODING

时间:2019-03-18 17:46:37

标签: asp.net-core kestrel-http-server

我正在尝试解决我的Kestrel中间件上的两个错误,该中间件旨在处理获取请求并返回一些JSON。 (我对使用MVC不感兴趣)

该代码有效,但我想删除这两个错误:

在Chrome中,我收到此错误:

  

net :: ERR_INCOMPLETE_CHUNKED_ENCODING 200(确定)

在茶est中出现此错误:

  

“无法设置状态代码,因为响应已经开始”

        public void Configure(
            IApplicationBuilder app,
            IHostingEnvironment env,
            ILoggerFactory loggerFactory)
            {
    // some startup stuff...

        app.Use(async (context, next) =>
                {
                    if (context.Request.Path.HasValue && context.Request.Path.Value.Contains("searchjsfetch/"))
                    {
                        await context.Response.WriteAsync(JsonConvert.SerializeObject(simpleObject), Encoding.UTF8);
                    }
    })
}

在打字稿中,我这样获取:

fetch(`${hostDomain}searchjsfetch/${email}/2/3`)
                    .then((response) => {
                    response.body.getReader().read().then((c) => {
                            return new TextDecoder("utf-8").decode(c.value);
                        });
                    })

2 个答案:

答案 0 :(得分:0)

使用ASP.NET Core,您将“使用MVC”(例如:在startup.cs中),但这并不意味着您必须使用MVC(视图等)...您将使用MVC命名空间等,但是您仍然可以返回JSON数据。与传统的MVC视图响应相比,有针对API的几个类-

第一个是 ControllerBase -https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.controllerbase?view=aspnetcore-2.2

第二个可能感兴趣的类是 ApiControllerAttribute

看看这篇文章-https://docs.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-2.2

答案 1 :(得分:0)

那是愚蠢的,我有一个额外的

await next();

造成问题的原因