大多数人,都低估了编程学习的难度,而高估了自己的学习能力和毅力。
当前系列: 垃圾桶 修改讲义

ASP.NET Core中大量使用了异步(async),比如:

PageHandlerMethod除了同步的OnGet()和OnPost(),还可声明异步方法:

    public async Task OnGetAsync()
    public async Task<IPageResult> OnPostAsync()
除了同步的IPageFilter,可以实现异步的IAsyncPageFilter:
    public interface IAsyncPageFilter

IActionResult

    public interface IActionResult
    {
        Task ExecuteResultAsync(ActionContext context);
    }

有一种观点认为:既然.NET为我们提供了这么方便的异步实现机制(async方法),那我们就应该全部异步,以提高性能!

对此,飞哥持保留意见。为什么呢?我们需要了解ASP.NET的运行机制。


IIS应用程序池

IIS是天然多线程的。

具体来说,IIS中可以设立若干个“应用程序池”,每个程序池中都维护着若干线程,为ASP.NET项目维护着一个。,

IIS为每一个Request分配一个线程,Request结束线程不销毁而是“放回”线程池,以便于以后使用。


(管道)

异步不是多线程


async无法提高响应速度。

要提高响应速度:Ajax



Async唯一的情形:

IIS 忙不过来,但其他组件还很闲



争议:async究竟能不能提高性能?


用于ASP.NET的IIS本身就是多线程的,不然,多个请求同时到达就要“排队”



很简单,

async并不能

功能 知识点
布局整理
Layout和section
注册/修改密码/个人资料、内容发布
TagHelper和Model绑定/验证
消息已读/删除 CheckboxList:综合运用
登录/退出登录
cookie/session和重定向
登录状态提示/侧边栏Widget
PartialView和ViewComponent
内容修改,列表过滤/分页,单页显示
Route和QueryString




学习笔记
源栈学历
大多数人,都低估了编程学习的难度,而高估了自己的学习能力和毅力。

作业

觉得很 ,不要忘记分享哟!

任何问题,都可以直接加 QQ群:273534701

在当前系列 垃圾桶 中继续学习:

多快好省!前端后端,线上线下,名师精讲

  • 先学习,后付费;
  • 不满意,不要钱。
  • 编程培训班,我就选源栈

更多了解 加:

QQ群:273534701

答疑解惑,远程debug……

B站 源栈-小九 的直播间

写代码要保持微笑 (๑•̀ㅂ•́)و✧

公众号:源栈一起帮

二维码