使用 ASP.NET WebApi 4 RC,是否可以将 ApiController 的返回类型作为基类并实际返回派生类的实例?现在尝试执行此操作会在返回 xml 时导致内部服务器错误 (500)。使用此方法返回 json 可以正常工作。
public class Base
{
public int ID { get; set; }
}
public class Derived : Base
{
public string Message { get; set; }
}
public class ValuesController : ApiController
{
public IEnumerable<Base> Get()
{
return new Derived[] {
new Derived(){ Message="test"},
new Derived(){ Message="another"}
};
}
}
似乎 XML 序列化是引发错误的原因,但我只能看到通用的 500 错误。