我在asp.net WebApi项目中遇到了一些麻烦。我正在使用rtm位。
在我的api控制器中,我有这个
[HttpPut]
public Business Update([FromBody]Business business)
{
try
{
if (business.Id == Guid.Empty)
{
throw new HttpResponseException(HttpStatusCode.BadRequest);
}
return _repository.Update(business);
}
catch (Exception ex)
{
log4net.ILog log = log4net.LogManager.GetLogger(this.GetType());
log.Info(string.Format("Update Error Business"));
log.Info(ex);
throw;
}
}
我的mvc4应用程序我从我的应用程序中的存储库中调用这个api方法
public static HttpResponseMessage Put(string apiMethod,string baseAddress,object objectData)
{
var myHttpClient = new HttpClient
{
BaseAddress = new Uri(baseAddress)
};
myHttpClient.DefaultRequestHeaders.Authorization = new BasicAuthenticationHeaderValue("username", "Password1");
myHttpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var put = myHttpClient.PutAsJsonAsync(apiMethod, objectData);
var x = put.Result;
return x;
}
我一直收到服务器500错误。我在api控制器上有一个断点,它没有被击中。如果从第三方工具手动调用api,则会调用api。
我检查了所有基本的东西,但似乎无法弄清楚发生了什么。
任何人都有任何提示我可以用来弄清楚什么是错的?
答案 0 :(得分:0)
我太困在类似的情况下了。不确定是否与您的情况完全相同。通常PUT / DELETE有一些问题。这是我的问题(您可以决定它是否与您的相似): PUT and DELETE returns 404 for asp.net webapi in Windows 2008 Server IIS 7 and 7.5