public async static Task (this IApplicationBuilder app) { app.ApplicationServices.GetRequiredService<ObjectAccessor<IApplicationBuilder>>() } { public interface IApplicationBuilder { IFeatureCollection ServerFeatures { get; } IDictionary<string,…
public async static Task (this IApplicationBuilder app) { app.ApplicationServices.GetRequiredService<ObjectAccessor<IApplicationBuilder>>() } { public interface IApplicationBuilder { IFeatureCollection ServerFeatures { get; } IDictionary<string,…
public async static Task (this IApplicationBuilder app) { app.ApplicationServices.GetRequiredService<ObjectAccessor<IApplicationBuilder>>() } { public interface IApplicationBuilder { IFeatureCollection ServerFeatures { get; } IDictionary<string,…
Handling some usages of Stream. public static byte[] GetAllBytes(this Stream stream) { using (var memoryStream = new MemoryStream()) { if (stream.CanSeek) { stream.Position = 0; } stream.CopyTo(memoryStream);[......]继续阅读
处理 Stream 的一些用法。 public static byte[] GetAllBytes(this Stream stream) { using (var memoryStream = new MemoryStream()) { if (stream.CanSeek) { stream.Position = 0; } stream.CopyTo(memoryStream); return[......]继续阅读
IServiceCollection can replace services. ServiceDescriptor can generate custom services to be injected using methods like .Scoped(). public static IServiceCollection AddAbpDynamicOptions<TOptions, TManager>(this IServiceCollection services) where TOption…
1, IServiceCollection 可以被替换服务。 ServiceDescriptor 可以通过 .Scoped() 等生成要注入的自定义服务。 public static IServiceCollection AddAbpDynamicOptions<TOptions, TManager>(this IServiceCollection services) where TOptions : class where TManager : AbpDynamicOptionsManager<…
主要特点: 1,根据当前环境加载 appsettings.xxx.json 文件,或者加载其它 .json 配置文件。 2,AddCommandLine、AddEnvironmentVariables 从程序启动命令行参数和环境变量中导入配置。命令行参数需要以键值的形式填入,如 key1=value1 --key2=value2。 public static IConfigurationRoot BuildConfiguration( AbpConfigurationBuilderOptions options =…
主要特点: 1,根据当前环境加载 appsettings.xxx.json 文件,或者加载其它 .json 配置文件。 2,AddCommandLine、AddEnvironmentVariables 从程序启动命令行参数和环境变量中导入配置。命令行参数需要以键值的形式填入,如 key1=value1 --key2=value2。 public static IConfigurationRoot BuildConfiguration( AbpConfigurationBuilderOptions options =…
We have all reached a somewhat awkward age: we aren't so young anymore, yet we haven't matured enough; we want to rely on ourselves, but we realize we are still a bit short; we wish to move forward, yet we find the road ahead long and winding. There are mists …
我们都到了略显尴尬的年纪:都不那么年轻了,却也没有足够的成长;都想依靠自己,却发现还差一点儿;都想往前走,却发现前路漫漫。前有迷雾,后有压力。可即便迷茫、尴尬,时间依旧拖着你。总有些时刻你不再相信了,可在心底你还是会有所追寻。我们都跑不过时间,只能跑过昨天的自己。 没有什么能一下子拯救你,也没有什么能一下子打垮你,就像我之前说过的一样。只是时间拖着你,把你变得越来越尴尬。明明不年轻了,又不甘心彻底变成大人;明明不那么年轻了,却又没有真正地老了;明明比什么时候都想靠自己,却又发现自己靠不住;明明想往前走,却不知道劲儿…
You want to climb to the top of the mountain; you must put in the effort. You want to get home early; you must start your journey ahead of time. You have your ambitions, which certainly come with hard work. If you think carefully, you will understand that much…
你想爬到山顶,必定得付出努力;你想早点儿回家,必定要提早赶路。你有你的野心,必定伴随着辛苦。仔细想想就会明白,很多苦从你一开始做选择、做决定时就注定了会存在。所以,既然决定是你自己做的,就要承担后果。任何得到都有代价,任何野心的实现都需要点滴的积累。你想看到更多,就得爬到高处。 前阵子读了一个渔夫和富翁的故事。大意是富翁决定放弃自己的财产回到渔村生活,有一天,从小就生活在渔村的渔夫看到富翁,笑他出去那么久,那么辛苦又能怎么样,最后不还是和他一样在海边捕鱼。富翁笑着说:“你是一辈子只能在这里,而我是选择回到这里。” …
那时我常想,那些光芒万丈的人出现在我们的生命里,然后消失,有什么意义?后来我明白,喜欢一个光芒万丈的人一点儿都不可怕,不管遥不遥远。遇到能让你付出的事物或者人,是一种运气。能遇到,就该珍惜。在等待的同时,把那些想留下的品质都留下,把自己变成值得等待的人,就不会辜负这段相遇。 I used to think about the meaning of those brilliant people appearing in our lives and then disappearing. Later, I underst…
那时我常想,那些光芒万丈的人出现在我们的生命里,然后消失,有什么意义?后来我明白,喜欢一个光芒万丈的人一点儿都不可怕,不管遥不遥远。遇到能让你付出的事物或者人,是一种运气。能遇到,就该珍惜。在等待的同时,把那些想留下的品质都留下,把自己变成值得等待的人,就不会辜负这段相遇。 我以前不明白为什么生命中总出现那些“闪闪发光”却难以靠近的存在。明明让人靠近不了,却又让人无法抗拒;明明知道她或许没那么好,却又忍不住把自己摆低。你为了那个人做很多以前不会做的事,听他喜欢的歌、看他喜欢的书,到头来,那个人可能已经不喜欢周杰伦了…
A few days ago, someone emailed me saying that after traveling around, they found themselves still feeling anxious, as if traveling wasn't that effective. There was a time when I was also very passionate about traveling, thinking that I had completed the "…
前两天,有人给我发邮件说,旅行了一圈回来后发现自己还是很焦虑,好像旅行没有那么大的作用。 我自己有一阵子也很热衷于旅行,原以为完成了“打怪升级”的任务,结果面对生活的时候却还是灰头土脸的。 的确,旅行无法为你要面对的现实带来多大的改变,你要做的论题还是那么多,你的上司还是那个。如果你没能清楚地认识到最终你还是得回到生活中,那么旅行就很可能没有那么大的作用。去旅行就一定能够发现自己?别信这句话。如果只去最热门的景点,只看最美丽的景色,同时又在不停地上网,那相当于哪里都没去,因为你没能有所成长。 什么叫在旅行中有所成长…
成长的一部分就是你会不断地和熟悉的东西告别,和一些人告别,做一些以前不会做的事,爱一个可能没有结果的人。不做一些事心痒痒,做了又觉得自己傻。 很久之后我才明白,所谓的“成长”,就是越来越能接受自己本来的样子,也能更好地和孤单的自己、失落的自己、失败的自己相处,并且接受他,然后面对他。 无论将来会遇到谁,生活都是先从遇到自己开始的。 每个人都在寻找一件东西,可我们却很少认真地问问自己到底要什么。我们不停地赶路,永不停歇,却时常怀疑自己追寻的是不是需要的,因而我们变得越发焦虑。世界太大,别人的路是参考,不是标准,你必须…
成长的一部分就是你会不断地和熟悉的东西告别,和一些人告别,做一些以前不会做的事,爱一个可能没有结果的人。不做一些事心痒痒,做了又觉得自己傻。 很久之后我才明白,所谓的“成长”,就是越来越能接受自己本来的样子,也能更好地和孤单的自己、失落的自己、失败的自己相处,并且接受他,然后面对他。 无论将来会遇到谁,生活都是先从遇到自己开始的。 每个人都在寻找一件东西,可我们却很少认真地问问自己到底要什么。我们不停地赶路,永不停歇,却时常怀疑自己追寻的是不是需要的,因而我们变得越发焦虑。世界太大,别人的路是参考,不是标准,你必须…
We think that growing up is a terrible thing because we haven't become the person we want to be. We are fortunate, yet lonely. We discover that the world is far broader than we imagined, yet we can't find a path that suits us; we find that the ways people conn…
我们之所以觉得成长是一件糟糕的事,是因为我们没有变成自己喜欢的样子。 我们是幸运的,却也是孤独的。我们发现世界远比自己想象的宽广,却又找不到适合自己的路;我们发现人与人之间认识的方式越来越多样,可能走进心里的人却越来越少;我们发现自己已经到了儿时羡慕的年纪,却没变成儿时羡慕的那种人。 然而,我们只能选择向前走。即使迷茫,也得往前走。我们碰壁,我们跌倒,我们迷茫,然后爬起来继续往前走。在很长一段时间内,因为突如其来的孤独感,和朋友之间越来越少的联系,我开始觉得自己是孤身一人。 我们都在逐渐失去中得到一些,在不停跌倒中…