Asp. net основной веб-API-интерфейс, вызывающий метод расширения Use () для простого промежуточного программного обеспечения - PullRequest
1 голос
/ 16 июня 2020

Я пытаюсь добавить простое промежуточное ПО для тестирования в методе настройки:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.Use(async (context, next)=>{
                await context.Response.WriteAsync("Middleware Test");
                await next.Invoke();
            });
         }

, но получаю сообщение об ошибке next.Invoke():

сбой: Microsoft.AspNetCore .Server.Kestrel [13] Идентификатор соединения «0HM0HT4E56F31», идентификатор запроса «0HM0HT4E56F31: 00000001»: приложение сгенерировало необработанное исключение. System.InvalidOperationException: StatusCode не может быть установлен, поскольку ответ уже начался. в Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ThrowResponseAlreadyStartedException (строковое значение) в Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.set_StatusCode (значение Int32sp) .Kestrel.Core.Internal.Http.HttpProtocol.Microsoft.AspNetCore.Http.Features.IHttpResponseFeature.set_StatusCode (значение Int32) в Microsoft.AspNetCore.Http.DefaultHttpResponse.set_StatusCode. (Контекст HttpContext) в Microsoft.AspNetCore.Builder.UseExtensions. <> C__DisplayClass0_2.b__2 () в MiddlewareWebApiTest.Startup. <> c. d.MoveNext () в E: \ vscode \ MiddlewareWebApiTest \ Startup.cs: строка 44 --- Конец трассировки стека из предыдущего места, где было выброшено исключение --- в Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke (контекст HttpContext) в Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke (контекст HttpContext) в Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests [TContext] (приложение IHttpApplication`1)

10 * 1009 Что я делаю не так?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...