我的ASP.NET MVC项目使用HttpClient.PostAsync()发布到WebAPI端点。一切都很好,直到我最近将项目升级到目标.NET Framework 4.7.2。现在,该调用将以HTTP状态405(不允许的方法)结束。但是,具有[HTTPGet]的端点可以工作。绝望地,我用[EnableCors(origins:“ ”,标头:“ ”,方法:“ *”)]设置API控制器,并使用相同的域和端口(localhost到本地主机)。我什至将项目还原到4.6.1。它仍然抛出405错误。你能帮忙吗?谢谢。
public static async Task < T > Post < T > (string baseUrl, string urlSegment, HttpContent postContent) {
string responseContent = string.Empty;
Uri returnUrl = null;
using(HttpClient client = GetClient(baseUrl)) {
HttpResponseMessage response = await client.PostAsync(urlSegment.TrimStart('/'), postContent).ConfigureAwait(false);
if (response.IsSuccessStatusCode) {
returnUrl = response.Headers.Location;
}
return JsonConvert.DeserializeObject < T > (returnUrl.ToString());
}
}
答案 0 :(得分:0)
事实证明,WebAPI端点路径已更改。此外,在升级到DotNet Framework 4.7.2之前,我将GIT提交还原为回滚到一个版本,然后在4.7.2升级之后挑选了所有提交。