【发布时间】:2013-05-12 05:04:47
【问题描述】:
我的 WebAPI 项目中有 GET、PUT、POST 工作。 我正在做的最后一个 Http 请求是 DELeTE,但它不起作用。
我已经阅读了这里以及其他网站的许多帖子,但没有一个。例如
WebAPI Controller is not being reached on DELETE command
WebAPI Delete not working - 405 Method Not Allowed
ASP.Net WebAPI Delete verb not working
ASP.NET Web API - PUT & DELETE Verbs Not Allowed - IIS 8
等等……
有什么解决方法吗?
请帮忙,谢谢。
更新:
我的后端代码:
[HttpDelete]
public HttpResponseMessage Delete(int divisionID)
{
if (divisionID != default(int))
{
var found = dc.MedicareLocalAccounts.SingleOrDefault(m => m.DivisionID == divisionID);
if (found == null)
{
return new HttpResponseMessage(HttpStatusCode.NotFound);
}
dc.MedicareLocalAccounts.Remove(found);
dc.SaveChanges();
return new HttpResponseMessage(HttpStatusCode.OK);
}
return new HttpResponseMessage(HttpStatusCode.NotFound);
}
现在,如果我将参数类型从 int 更改为任何类,比如 Division
Delete(Division d)
{
int divisionID = d.DivisionID;
//....the rest is same
}
这样就可以了。
但我只是不想输入整个对象作为参数来使 DELETE 方法工作,因为它不是必需的。
那么您还有其他更好的解决方案吗?
【问题讨论】:
-
您要链接的问题似乎有已被接受的答案。因此,“似乎是 Microsoft 代码问题”似乎是不正确的(因为问题的提问者现在显然已经成功),并且“是否有任何解决方法”似乎只是要求重新发布这些答案。
-
“这似乎是 Microsoft 代码问题” - 不。你认为他们忘记实施删除了吗?这很可能是您的代码中的错误,您没有显示。
-
你的实现和配置是什么
-
@Damien_The_Unbeliever 我之所以说这是微软的问题,是因为我在那些链接中看到了一些解决方案,建议修改系统配置文件。现在我解决了我的问题,请看我的问题。
-
@CodeCaster 您好,请参阅我对 Damien 的回复,了解为什么我认为这是 Microsoft 问题。
标签: ajax asp.net-mvc-4 asp.net-web-api