Asp.net mvc 4 从mvc4应用程序调用asp.net WebApi抛出500

Asp.net mvc 4 从mvc4应用程序调用asp.net WebApi抛出500,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc 4,Asp.net Web Api,我在asp.net WebApi项目中遇到一些问题。我正在使用rtm位 在我的api控制器中,我有 [HttpPut] 公共业务更新([FromBody]业务) { 尝试 { if(business.Id==Guid.Empty) { 抛出新的HttpResponseException(HttpStatusCode.BadRequest); } 返回_repository.Update(业务); } 捕获(例外情况除外) { log4net.ILog log=log4net.LogManager

我在asp.net WebApi项目中遇到一些问题。我正在使用rtm位

在我的api控制器中,我有

[HttpPut]
公共业务更新([FromBody]业务)
{
尝试
{
if(business.Id==Guid.Empty)
{
抛出新的HttpResponseException(HttpStatusCode.BadRequest);
}
返回_repository.Update(业务);
}
捕获(例外情况除外)
{
log4net.ILog log=log4net.LogManager.GetLogger(this.GetType());
log.Info(string.Format(“更新错误业务”);
日志信息(ex);
投掷;
}
}
我的mvc4应用程序我正在从应用程序中的存储库调用此api方法

publicstatichttpresponsemessageput(stringapimethod、stringbaseaddress、objectData)
{
var myHttpClient=新的HttpClient
{
BaseAddress=新Uri(BaseAddress)
};
myHttpClient.DefaultRequestHeaders.Authorization=new BasicAuthenticationHeaderValue(“用户名”、“密码1”);
myHttpClient.DefaultRequestHeaders.Accept.Add(新的MediaTypeWithQualityHeaderValue(“应用程序/json”);
var put=myHttpClient.PutAsJsonAsync(apiMethod,objectData);
var x=投入结果;
返回x;
}
我一直收到服务器500错误。我在api控制器上有一个断点,它没有被击中。如果从第三方工具手动调用api,则调用api

我检查了所有的基本情况,但似乎不知道发生了什么


有谁知道我可以用来找出哪里出了问题的窍门吗?

我也陷入了类似的境地。我不确定是否和你的情况完全一样。一般来说,PUT/DELETE有一些问题。这是我的问题(你可以决定它是否与你的相似):

是否设置了
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy=IncludeErrorDetailPolicy.Always
要查看真正的错误?刚刚添加了它,但似乎没有任何更改这是一个WebHost/SelfHost场景?…如果它的SelfHost,格式化程序写入期间的异常将没有详细信息,只会是500个内部服务器错误…关于“我在api控制器上有一个断点,它没有被击中。如果从第三方工具手动调用api,则调用api。“,可以共享您的路由和发送的url吗?这是一个基于Web的应用程序。在同一个解决方案中,只有一个单独的项目。我认为路线很好,因为我可以从其他方法调用它。您是否可以检查Fiddler发送的请求的外观…也许您可以获得一些新的见解。。。