【5min+】 一个令牌走天下!.Net Core中的ChangeToken
程序员文章站
2023-12-31 17:36:28
ChangeToken这个东西好像已经不止看到它一次两次了,在Microsoft.Extensions.FileProviders包里面也有发现它的身影。迷惑了很久之后,今天总算可以找个机会来扒一扒它,看看它到底是一个什么东西。其实,从MSDN里面的第一句描述以及这个类的命名,咱们还是可以读懂它的大... ......
系列介绍
【五分钟的dotnet】是一个利用您的碎片化时间来学习和丰富.net知识的博文系列。它所包含了.net体系中可能会涉及到的方方面面,比如c#的小细节,aspnetcore,微服务中的.net知识等等。
5min+不是超过5分钟的意思,"+"是知识的增加。so,它是让您花费5分钟以下的时间来提升您的知识储备量。
正文
前段时间在阅读aspnet core的源代码中,发现了一个叫做changetoken
的静态类。它的使用大概是这个样子:
public actiondescriptorcollectionprovider( ienumerable<iactiondescriptorprovider> actiondescriptorproviders, ienumerable<iactiondescriptorchangeprovider> actiondescriptorchangeproviders) { _actiondescriptorproviders = actiondescriptorproviders .orderby(p => p.order) .toarray(); _actiondescriptorchangeproviders = actiondescriptorchangeproviders.toarray(); //here!! changetoken.onchange( getcompositechangetoken, updatecollection); }
回想起来,这个东西我好像已经不止看到它一次两次了,在microsoft.extensions.fileproviders
包里面也有发现它的身影。迷惑了很久之后,今天总算可以找个机会来扒一扒它,看看它到底是一个什么东西。
其实,changetoken
在微软官方的aspnet core教程文档中是有专门介绍它的文章:《使用 asp.net core 中的更改令牌检测更改》。但是该篇文章我个人觉得有点偏重于讲使用,而对原理比较淡化。这怎么能满足得了我们程序员的探索欲