千家信息网

.NET中MyMVC框架处理返回值的示例分析

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,这篇文章主要介绍了.NET中MyMVC框架处理返回值的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MyMVC框架处理返回值的
千家信息网最后更新 2025年02月03日.NET中MyMVC框架处理返回值的示例分析

这篇文章主要介绍了.NET中MyMVC框架处理返回值的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

MyMVC框架处理返回值的时机是在ExecuteAction方法中(前面有那段代码)。
这里只做个简单的补充说明。

我为Action的结果定义了一个接口:

public interface IActionResult{    void Ouput(HttpContext context);}

框架内实现了4种ActionResult:

/// /// 表示一个用户控件结果(用户控件将由框架执行)/// public sealed class UcResult : IActionResult/// /// 表示一个重定向的结果/// public sealed class RedirectResult : IActionResult/// /// 一个Json对象结果/// public sealed class JsonResult : IActionResult/// /// 表示一个页面结果(页面将由框架执行)/// public sealed class PageResult : IActionResult

要输出返回值的时候,不仅使用了IActionResult接口,我还使用下面这个调用:

context.Response.Write(result.ToString());

不要小看了ToString()的调用。
对于自定义的数据类型来说,可以用它来控制最终输出给客户端的是JSON或者是XML, 或者是您自己定义的文本序列化格式(比如:特殊分隔符拼接而成), 因此,它有足够的能力可以取代JsonResult类型,而且同样不影响Action的单元测试。
ToString()的强大原因在于它是个虚方法,可以被派生类重写。

所以,如果您只打算返回一个数据实体对象给客户端,那么既可以实现IActionResult接口,还可以重写ToString方法。

感谢你能够认真阅读完这篇文章,希望小编分享的".NET中MyMVC框架处理返回值的示例分析"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0