У меня есть основной API asp.net, из которого я пытаюсь сделать запрос DELETE к другому базовому API asp.net.Когда я вызываю первый API, я получаю сообщение об ошибке 405, когда он вызывает удаление второго API.Я попробовал решение, найденное здесь; ASP.NET Core с IIS - HTTP-глагол не разрешен и некоторые другие связанные решения безуспешно.Я также попытался Включение запросов к исходным точкам (CORS) в моем файле Startup.cs, однако, похоже, ничего не изменилось.
Вот моя конечная точка удаления:
[HttpDelete("MyDeleteEndpoint")]
public async Task MyDeleteEndpoint([FromRoute] string id)
{
var http = new HttpClient();
var response = await http.DeleteAsync("https://myserver:443/api/mycontroller/{id});
//do more stuff
}
Вот мой web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="false">
<remove name="WebDAVModule" />
</modules>
</system.webServer>
</configuration>
Вот мои ConfigureServices и мои методы Configure в Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddCors(options =>
{
options.AddPolicy("mypolicy",
builder =>
{
builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod();
});
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseCors("mypolicy");
app.UseHttpsRedirection();
app.UseMvc();
}
Любые идеи о том, что я могу делать неправильно