在区域中的webapi控制器中不处理HttpResponseException

时间:2017-01-15 00:04:36

标签: asp.net-web-api2

我的MVC 5项目中有两个webapi控制器,一个在主域中:

namespace VincConsultancy.Controllers
{
    public class QuestionGroupController : ApiController
    {
        //...

        public IEnumerable<SAQQuestionGroup> Get(int id = 0)
        {
            var groups = (from g in repository.SAQQuestionGroups
                         where g.RequirementId == id
                         select g).ToList();
            if (groups.Count == 0)
            {
                string message = string.Format("Groups with Req id = {0} not found", id);
                throw new HttpResponseException(
                    Request.CreateErrorResponse(HttpStatusCode.NotFound, message)
                );
            }
            return groups;
        }
    }
}

区域中的另一个:

namespace VincConsultancy.Areas.admin.Controllers
{
    public class SAQGroupsController : ApiController
    {
        //...
        public IEnumerable<SAQGroup> Get(int id = 0)
        {
            var groups = (from g in this.dbCnxt.SAQQustnGroups
                          where g.RequirementId == id
                          select g).ToList();
            if (groups.Count == 0)
            {
                string message = string.Format("Groups with Req id = {0} not found", id);
                throw new HttpResponseException(
                    Request.CreateErrorResponse(HttpStatusCode.NotFound, message)
                );
            }
            return groups;
        }
    }
}

在两个控制器中,我通过抛出HttpResponseException返回错误消息。 Visual Studio暂停执行“抛出新的HttpResponseException”#39;只在管理区域的控制器中,说发生了异常但是没有被用户代码处理,但这并不影响功能,我只需要每次都按下继续按钮。然而,它不会发生在另一个控制器上。所以,我想知道是否有一些机制自动处理主域中的异常。 throw-exception行不应该被我的代码捕获,我应该如何摆脱视觉工作室呢?

0 个答案:

没有答案