部署到 IIS 8.5 服务器后,dotnet core Web API 删除调用 404 错误



从角度前端调用删除。 错误显示:

Http failure response for http://devserver.us/MyApp/api/additive/3: 404 Not Found

角度客户端中的删除方法:

onDelete(additive: Additive) {
if (confirm("Are you sure you want to delete this additive?")) {
var id = additive.AdditiveId;
this._additiveService.delete(id).subscribe(result => {
var ad = result;
console.log(id + " has been deleted.");
this.refresh();
}, error => console.log(error));
}
}

附加服务:

private url = this.baseUrl + "api/additive/";
delete(id: number): Observable<Additive> {
return this.http.delete<Additive>(this.url+id, { withCredentials: true }).catch(this.handleError);
}

网页 API 控制器:

// DELETE api/<controller>/5
[HttpDelete("{id}")]
public IActionResult Delete(int id)
{
var deleteid = id;
return NoContent();
}

控制器继承自基本 api 控制器:

public class AdditiveController : BaseApiController
{
....
[Route("api/[controller]")]
public class BaseApiController : Controller
{
......

它在本地主机中工作正常,但在部署到开发服务器 (IIS 10( 后,所有 GET 都可以工作,但 DELETE 返回 404 未找到。 控制器的 URL 正确。

Web 配置允许所有动词:

<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" />
</handlers>

我检查了标准输出日志和事件查看器,但它们不包含任何数据。

我怎么做 1.获取详细的错误消息或 2.解决这个问题?

原来问题出在服务器上的应用程序主机配置文件中。 删除必须明确允许,但事实并非如此。

最新更新