Проблема после развертывания ASP. NET Web API для производства - PullRequest
0 голосов
/ 31 января 2020

Я тестировал ASP. NET Web API в локальной среде с IIS Express и на другом сервере с полным IIS. В обоих местах токен api и post api работает нормально. Я использую пространство имен System.Web.Http, как предложено. Однако после развертывания на сервере общего хостинга я получаю сообщение об ошибке ниже:

API токена:

"error": "unsupported_grant_type"

Post API (метод с [HttpPost] системы .Web.Http):

"Message": "The requested resource does not support http method 'GET'."

Код Post API:

[AllowAnonymous]
[HttpPost]
[Route("api/test")]
public IHttpActionResult Test([FromBody] Employee emp)
{
    ...
}

Я использую маршрутизацию по умолчанию, доступную в WebApiConfig.cs, как показано ниже. Не уверен, имеет ли это значение, поскольку я уже украшаю метод API с помощью Route:

config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);

Я попытался выполнить развертывание с помощью метода FileSystem (загрузка файлов на сервер и настройка приложения в IIS) и метода Web Deploy для прямого развертывания API в сервер. Я использую Postman для тестирования и использую тот же метод Http (Post) и тело, которые я использую при локальном тестировании.

В чем может быть разница между локальным IIS Express / IIS и сервером IIS общего хостинга, который вызывает эту проблему

1 Ответ

0 голосов
/ 03 февраля 2020

Насколько я знаю, "error": "unsupported_grant_type" означает, что вы использовали неправильный параметр в своем запросе, я предлагаю вам еще раз проверить заголовок или тело запроса, чтобы убедиться, что вы использовали правильный тип параметра.

Ошибка "Message": "The requested resource does not support http method 'GET'." означает, что вы использовали метод get вместо post для отправки запроса.

Если вы действительно используете сообщение, я предлагаю вам использовать трассировку Fail request для просмотра того, что имеет произошло, когда вы используете почтальона для отправки запроса. Артикул .

`

...