我使用带有asp.net web forms 4.5的web api,我在删除方法时遇到问题。 这不起作用,但其他方法运作良好。 请帮忙 。 这是我的删除方法:
[HttpDelete]
public void DeleteConversation(long id)
{
if (_repository.UserConvers(long.Parse(User.Identity.GetUserId())).All(a => a.Id != id))
return;
var item = _repository.Get(id);
if (item == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
_repository.Remove(id);
}
这是我的网络配置:
<modules runAllManagedModulesForAllRequests="true">
<remove name="FormsAuthenticationModule" />
<remove name="WebDAVModule"/>
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="CKUpload" path="/Handlers/CKUpload.ashx" verb="*" type="UI.Handlers.CKUpload,UI" />
<add path="Captcha.ashx" verb="*" name="Captcha" type="UI.Handlers.Captcha,UI" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
答案 0 :(得分:0)
确保在_repository类的delete方法中调用SaveChanges()。你的方法没有错,你应该可以通过发送HTTP删除到uri“/ api / {controllerName} / 45541”来访问它