web api中的delete方法不起作用

时间:2014-09-13 10:54:52

标签: asp.net asp.net-web-api

我使用带有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>

1 个答案:

答案 0 :(得分:0)

确保在_repository类的delete方法中调用SaveChanges()。你的方法没有错,你应该可以通过发送HTTP删除到uri“/ api / {controllerName} / 45541”来访问它