我在我的开发机器上运行ASP.NET Web Api应用程序时遇到了一个非常奇怪的问题。ASP.NET Web Api HttpResponseException()导致未处理的异常
有问题的代码在ApiController中抛出HttpResponseException
。在另一台机器上,此代码按预期工作,并返回400 Bad Request
。在我的开发机器上,这个相同的代码中断并且Visual Studio抱怨(HttpResponseException was unhandled by user code
)。
在.net API控制器中抛出HttpResponseException
是标准做法,所以我想继续使用这种方法(与使控制器返回HttpResponseMessage
并创建错误响应)。有没有人遇到过这个问题?
下面是有问题的代码,我删除了所有其他代码,现在它只是抛出异常。
public class SearchController : ApiController
{
public IEnumerable<Bill> Get()
{
throw new HttpResponseException(HttpStatusCode.BadRequest);
}
}
这个代码在一台机器上运行正常,在另一台机器上运行正常(我的开发机器)。有没有一些奇怪的设置,我不小心在Visual Studio中设置来打破默认行为?
你是什么意思“未处理”?它会将自己转换为500状态码吗? –
* unhandled *我的意思是说,当Visual Studio遇到'throw new HttpResponseException'行并且出现标准的异常详细信息对话框,并且标题'HttpResponseException被用户代码未处理'时,它将暂停和暂停调试。返回给浏览器的响应仍然具有400的状态码。 –