검색을 통해 데이터를 가져 오는 작업이 매우 비중 있기 때문에 데이터를 비동기 적으로로드하는 차트가 표시됩니다. 차트 라이브러리를 행복하게 만들려면 데이터를 XML로 반환해야합니다.
내 ActionMethods는 text/xml로 설정된 유형의 ContentResult를 반환합니다. Linq를 사용하여 XML에 ToString을 호출하여 XML을 작성합니다. 이것은 잘 작동하지만 테스트하기에 이상적이지 않습니다.
XSLT View 엔진을 사용하여 XML을 빌드하는 뷰를 반환하는 것이 다른 아이디어입니다.Asp.net MVC의 ActionMethod에서 XML을 반환하는 가장 좋은 방법은 무엇입니까?
나는 궁금해서 항상 "올바른 방법"으로 작업하려고합니다. 그런 시나리오를 어떻게 다루고 있습니까?
XML을 작성하기 위해 다른 ViewEngine (xslt와 같은)을 구현합니까, 아니면 컨트롤러 (또는 컨트롤러를 제공하는 서비스)에 XML을 빌드합니까?
편집 :
내가하는 차트 라이브러리에 나는 그들의 XML 구조를 수행 할 필요가 의 데이터를 전달이 필요하기 때문에. 그들의 표기법은 내 모델 수업을 전혀 만들고 싶지 않다. 그래서 Linq를 사용하여 XML을 직접 작성하고 템플릿이 더 좋을지 궁금해합니다.
public class XmlActionResult : ActionResult
{
public XmlActionResult(object data)
{
Data = data;
}
public object Data { get; private set; }
public override void ExecuteResult(ControllerContext context)
{
context.HttpContext.Response.ContentType = "text/xml";
// TODO: Use your preferred xml serializer
// to serialize the model to the response stream :
// context.HttpContext.Response.OutputStream
}
}
그리고 컨트롤러의 행동 :
간단한 직렬화 내가 사용자 지정 작업 결과 쓰기
[ASP.NET MVC에서 컨트롤러의 동작에서 XML을 반환하는 가장 좋은 방법은 무엇입니까?] (http://stackoverflow.com/questions/134905/what-is-the-best-way-to -return-xml-from-a-controllers-action-in-asp-net-mvc) –