ASP.NET WebApi 4 RC를 사용하면 ApiController의 반환 형식을 기본 클래스로 설정하고 실제로 파생 클래스의 인스턴스를 반환 할 수 있습니까? 이 작업을 시도하면 xml을 반환 할 때 내부 서버 오류 (500)가 발생합니다. 이 메서드를 사용하여 json을 반환하면 올바르게 작동합니다.ApiController에서 반환 형식으로 기본 클래스 사용
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 오류 만 보입니다.
[System.Runtime.Serialization.KnownType(typeof(Derived))]
public class Base
{
public int ID { get; set; }
}
Perfect. 내가 필요한 것. – vtforester
당신은이 질문이 중복 된 (...) 복제본의 복제본이라는 것을 알고 있습니다. –
@FilipW 그래서 어떤 질문이 모두 끝내고 수백 개의 upvotes와 .NET 전문가 응답이 포함되어 있습니다. .. 못 찾겠 어. – felickz