WebAPI Empty 500错误

时间:2012-06-27 03:54:35

标签: asp.net asp.net-mvc-4 asp.net-web-api

我遇到WebAPI问题,返回空500.

这是数据类。

public class Comment
{
    public int Id { get; set; }
    public string Content { get; set; }
    public string Email { get; set; }
    public bool IsAnonymous { get; set; }

    public int ReviewId { get; set; }
    public Review Review { get; set; }
}
public class Review
{
    public int Id { get; set; }
    public string Content { get; set; }

    public int CategoryId { get; set; }
    public string Topic { get; set; }
    public string Email { get; set; }
    public bool IsAnonymous { get; set; }

    public virtual Category Category { get; set; }
    public virtual ICollection<Comment> Comments { get; set; }
}

这是来自ReviewRepository.cs的代码

public Review Get(int id)
{
    return _db.Reviews.Include("Comments").SingleOrDefault(r => r.Id == id);
}

来自ReviewController.cs的代码

public HttpResponseMessage Get(int id)
{
    var category = _reviewRepository.Get(id);
    if (category == null)
    {
        return Request.CreateResponse(HttpStatusCode.NotFound);
    }
    return Request.CreateResponse(HttpStatusCode.OK, category);
}

无论我做什么,来自/ api / reviews / 1的回复都是500错误。调试时,类别是正确的,加载了所有注释。

我尝试了GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;,但这没有用。我在这里不知所措!

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:0)

我遇到了同样的问题。除了GlobalConfiguration策略之外,您可能还需要在web.config中包含以下内容。

<system.webServer>
  <httpErrors existingResponse="PassThrough" />
</system.webServer>

答案 2 :(得分:0)

可能是ICollection<Comment> CommentsCategory Category的序列化。