嘿,我在我的客户端REST应用程序更新数据有一个很大的麻烦。更新数据与Microsoft.AspNet.WebApi
我做了一个Web API控制器。
// PUT: api/Contacts/5
[ResponseType(typeof(void))]
public IHttpActionResult PutContact(Contact contact, int id)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != contact.ContactId)
{
return BadRequest();
}
_contactService.Update(contact);
return StatusCode(HttpStatusCode.NoContent);
}
而且还客户服务方法:
public async Task<T> PutData<T>(T data, int dataId)
{
HttpResponseMessage resp = await this._client.PutAsJsonAsync(_serviceUrl + "/" + dataId, data);
resp.EnsureSuccessStatusCode();
return await resp.Content.ReadAsAsync<T>();
}
服务URL显示在我去端点调试模式: http://localhost:21855/api/Contacts/8
但它甚至没有去断点,当我调试我的服务器控制器PutContact方法。
我doint错了什么?我需要更新数据,但我不能,因为我的客户端应用程序甚至不会在调试模式下进入服务器断点! 它给了我一个错误响应405:不允许的方法
您能否包含代码来显示如何在您的服务中配置路由? I.E.对config.Routes.MapHttpRoute()的调用,假设您使用的是基于约定的路由而不是基于属性的路由。 –
您的回复中还返回了哪些状态码?有什么异常吗? –
它给了我一个错误响应405:方法不允许 – anduplats