将ASP.NET Web API部署到生产环境后出现的问题

将ASP.NET Web API部署到生产环境后出现的问题,asp.net,iis,asp.net-web-api,asp.net-web-api-routing,Asp.net,Iis,Asp.net Web Api,Asp.net Web Api Routing,我使用IIS Express在本地环境中测试了ASP.NET Web API,并使用完整的IIS在其他服务器上进行了测试。在这两个地方,令牌api和post api都运行良好。我按照建议使用System.Web.Http命名空间。但是,在将其部署到共享主机服务器后,我发现以下错误: 令牌API: “错误”:“不支持的授权类型” Post API(使用System.Web.Http的[HttpPost]方法): “消息”:“请求的资源不支持http方法“GET”。 发布API代码: [AllowA

我使用IIS Express在本地环境中测试了ASP.NET Web API,并使用完整的IIS在其他服务器上进行了测试。在这两个地方,令牌api和post api都运行良好。我按照建议使用System.Web.Http命名空间。但是,在将其部署到共享主机服务器后,我发现以下错误:

令牌API:

“错误”:“不支持的授权类型”

Post API(使用System.Web.Http的[HttpPost]方法):

“消息”:“请求的资源不支持http方法“GET”。

发布API代码:

[AllowAnonymous]
[HttpPost]
[Route("api/test")]
public IHttpActionResult Test([FromBody] Employee emp)
{
    ...
}
我使用WebApiConfig.cs中提供的默认路由,如下所示。不确定这是否重要,因为我已经在用Route装饰API方法:

config.Routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);
我尝试使用文件系统方法(将文件上载到服务器并在IIS中配置应用程序)和Web部署方法部署API以直接部署到服务器。我使用Postman进行测试,并使用与本地测试相同的Http方法(Post)和body


本地IIS Express/IIS和共享托管服务器IIS之间有什么区别导致了此问题?

据我所知,
的“错误”:“unsupported\u grant\u type”
表示您在请求中使用了错误的参数,我建议您可以重新检查您的请求标题或正文,以确保使用了正确的参数类型

“消息”:“请求的资源不支持http方法“GET”。
错误表示您使用了GET方法而不是post来发送请求

如果你真的使用post,我建议你可以使用失败请求跟踪来查看当你使用邮递员发送请求时发生了什么


`

错误消息表示您正在使用GET请求访问POST端点。