Asp.net mvc ActionResult帮助程序和不同类型的解析程序

Asp.net mvc ActionResult帮助程序和不同类型的解析程序,asp.net-mvc,actionresult,Asp.net Mvc,Actionresult,其思想是对不同类型的结果使用相同的操作方法 即 /类别/详细信息/?结果格式=json /类别/详细信息/?结果格式=xml 因此,我们需要一些ActionResult帮助程序,其中包含注册的值解析程序对 “json”,JsonValueResolver “xml”,XmlResolver 等等…是否已经有解决方案,或者我必须考虑某种自定义解析器? Automapper有很好的值解析解决方案。有什么想法吗 public class SmartResult : ActionResult {

其思想是对不同类型的结果使用相同的操作方法 即

/类别/详细信息/?结果格式=json

/类别/详细信息/?结果格式=xml

因此,我们需要一些ActionResult帮助程序,其中包含注册的值解析程序对

“json”,JsonValueResolver

“xml”,XmlResolver

等等…是否已经有解决方案,或者我必须考虑某种自定义解析器? Automapper有很好的值解析解决方案。有什么想法吗

public class SmartResult : ActionResult
{
    public override void ExecuteResult(ControllerContext context)
    {
        if (context == null)
        {
            throw new ArgumentNullException("context");
        }

        if (context.HttpContext.Request.QueryString["ResultFormat] == "json")
        {
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            context.HttpContext.Response.Write(serializer.Serialize(this.Data));
        } else if(context.HttpContext.Request.QueryString["ResultFormat] == "xml")
                    {
              ...serialize using xmlserializer
        }else{
            throw new InvalidOperationException();
        }
    }

    public object Data { get; set; }
}