ASP. NET Базовые API-контроллеры - как правильно отлаживать - PullRequest
0 голосов
/ 25 февраля 2020

За последние пару недель я работал с ASP. NET Core Backend (Remote Ubuntu Machine, только S SH, Kestrel).

При отправке HTTP-запроса к серверу часто это не будет обрабатываться так, как я ожидал.

Примеры:

  • Для POST: параметр действия будет null или 0 или пустой string

  • метод действия не выполняется вообще

Есть ли способ просмотреть заголовки, тело, et c. запроса, поступившего на сервер?

Как обрабатываются данные тела перед вызовом соответствующего метода действия?


Я читал вывод консоли и устанавливал точки останова для выяснить, что происходит.

Что хорошо, если в методе действия возникает исключение или если что-то идет не так, как надо.

Но это не помогает мне понять, что происходит до метода действия. выполняется.

1 Ответ

1 голос
/ 25 февраля 2020

Вы можете добавить промежуточное ПО в конвейер для проверки любых запросов. В промежуточном программном обеспечении у вас будет доступ к HttpContext и всем его свойствам (т. Е. Запросу и его заголовкам). Пока вы делаете вызов app.Use() до вызова app.UseMvc(), у вас будет доступ к запросу до того, как он совершит действие.

Подробнее о middleare можно узнать здесь: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/middleware

Как только он входит в действие, у вас также есть доступ к объекту Request в контроллере. Таким образом, вы можете проверить что угодно по запросу (например, заголовки) так, как вы предпочитаете (локальное окно, окно наблюдения и т. Д. c.).

Все свойства, к которым вы можете получить доступ, если вы наследуете от ControllerBase, находятся здесь : https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.mvc.controllerbase

Как упоминалось Polyfun , лучшим подходом было бы добавить надежную регистрацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...