导航

随笔分类 -  dotNetCore

摘要:这个类的主要作用是生成URL的。 Ambient Route Values 环境值。 生成查询分页的URL时,Page 就是一个环境值。 未完带续 阅读全文

posted @ 2015-04-07 18:06 DotNet1010 阅读(135) 评论(0) 推荐(0)

摘要:TemplateMatcher 的主要作用是 根据分析后的 RouteTemplate 和 用户指定的 默认值(这个不是 前面讲过的 :int=5 这类默认值). 对 请求的路径 RequestPath 进行分析匹配,生成 一个集合 IDictionary<string,object>; 构造函数代 阅读全文

posted @ 2015-04-07 18:05 DotNet1010 阅读(272) 评论(0) 推荐(0)

摘要:这个类主要是分析 routeTemplate(字符串) 返回: RouteTemplate(对象) Parser 方法代码为: 阅读全文

posted @ 2015-04-07 17:40 DotNet1010 阅读(184) 评论(0) 推荐(0)

摘要:先看一下三个正则表达式: 完整的匹配上上述三部分 参数 约束 默认值 的相加: 看一下核心代码: 阅读全文

posted @ 2015-04-07 16:23 DotNet1010 阅读(138) 评论(0) 推荐(0)

摘要:关于RouteTemplate 举几个例子: 上面的引号中的部分称为:RouteTemplate 路由模板。 每一个路由模板包含一个 模板片段的集合: 反斜杠 ”/" 用来分隔 TemplateSegment 如 {controller}/{action}/{id:int=5} 便是有三个Templ 阅读全文

posted @ 2015-04-07 15:36 DotNet1010 阅读(847) 评论(0) 推荐(0)

摘要:路由约束是对routeKey的一种限制,比如限制整型,限制长度 接口代码: 比较重要的两个参数是:routeKey 要限制的内容 比如 tempate: {controller}/{action}/{id} 中的 controller 或者 action 或者 id 。 values 是URL 结合 阅读全文

posted @ 2015-04-07 14:30 DotNet1010 阅读(191) 评论(0) 推荐(0)

摘要:Lifekind.Scoped 一个请求一个范围是怎么实现的,由ContainerMiddleware 来解决: Invoke 方法代码: EnsureRequestServices 方法 核心代码: RequestServicesContainer 构造函数代码: 看一下 扩展方法: 当调用 Us 阅读全文

posted @ 2015-04-07 13:03 DotNet1010 阅读(181) 评论(0) 推荐(0)

摘要:其它实现可以调用此方法 或者写类似的实现 核心代码Main: 阅读全文

posted @ 2015-04-07 12:48 DotNet1010 阅读(187) 评论(0) 推荐(0)

摘要:核心代码是 Create方法: 阅读全文

posted @ 2015-04-07 12:43 DotNet1010 阅读(203) 评论(0) 推荐(0)

摘要:接口代码: 核心方法: 阅读全文

posted @ 2015-04-07 12:35 DotNet1010 阅读(169) 评论(0) 推荐(0)

摘要:代码比较简单 不解释: HttpContextFactory 代码: HttpContextAccessor 代码: 阅读全文

posted @ 2015-04-07 12:28 DotNet1010 阅读(211) 评论(0) 推荐(0)

摘要:Startup类里主要有两类方法: 一类是: ConfigureServices(IServiceCollection) 这个方法的参数至少有一个 可以为多个 其它的必须可以由依赖注入来创建。 叫做 servicesMethod (这类方法不是必须的,就是说也可以没有) 格式为:"Configure 阅读全文

posted @ 2015-04-07 10:57 DotNet1010 阅读(146) 评论(0) 推荐(0)

摘要:在写MVC的时候,一个很重要的类是 Startup 类。 这个类是谁来执行的呢? 这个就与 StartupManager 相关。 先看一下接口的代码: 这个主要是通过配置文件中配置的 应用程序名称 和 环境名称 来加载Startup类。 其中 applicationName = config.Get 阅读全文

posted @ 2015-04-07 10:40 DotNet1010 阅读(134) 评论(0) 推荐(0)

摘要:接口代码: 这个接口的实现类是: ServerManager 是有依赖注入来创建的: 依赖注入中默认添加有:_table.Add(typeof(IServiceProvider), new ServiceProviderService()); 这里就是把ServiceProvider 传入进去。 再 阅读全文

posted @ 2015-04-07 10:12 DotNet1010 阅读(215) 评论(0) 推荐(0)

摘要:AddOptions 方法: 这里是可以在配置文件里用自己实现的类来替换 OptionsManager<> 的。 看一下:ConfigureOptions 方法: 这个是实例化的: Configure 方法: 最后时多了一个参数的 IConfiguration config 的 Configure方 阅读全文

posted @ 2015-04-03 09:25 DotNet1010 阅读(549) 评论(0) 推荐(0)

摘要:这里先 说一下 In 和 Out in 向内部变化 向父类变化发展 “逆变”->”逆常的变” <string>=<object>; out 向外部变化 向子类变化发展 “协变”->”和谐的变” <object>=<string>; 看一下 In 的例子: 再看一下 out 的例子: 接口代码: 这里 阅读全文

posted @ 2015-04-02 16:50 DotNet1010 阅读(288) 评论(0) 推荐(0)

摘要:接口代码: 实现这个接口的有两个类: ConfigureOptions 的部分代码: 根据参数 name 来决定是否调用在构造函数中传入的方法。 而 ConfigureFromConfigurationOptions 继承自 ConfigureOptions:代码比较简单: OptionsServi 阅读全文

posted @ 2015-04-02 16:02 DotNet1010 阅读(249) 评论(0) 推荐(0)

摘要:先看一下构造函数: 初始就有三个类型; 看一下最核心的 GetService 方法: GetServiceCallSite 方法: GetResolveCallSite 方法的源代码: 看一下 RealizeService 方法: 最后看一下 ScopedCallSite: 阅读全文

posted @ 2015-04-02 15:20 DotNet1010 阅读(162) 评论(0) 推荐(0)

摘要:IService 代码: 实现IService接口的类有如下几个: 先说一下:ClosedIEnumerableService 和 OpenIEnumerableService 的区别:Open 无指定泛型的类型 Close 已经指定的类型: 先看一下 1 FactoryService: Creat 阅读全文

posted @ 2015-03-25 16:53 DotNet1010 阅读(109) 评论(0) 推荐(0)

摘要:先上代码: 先说说这个类是做什么用的? 非泛型的ServiceType 会被存储到如下的列表中: 添加到集合的代码如下: 假定有接口 IA (非泛型接口) 实现类有 A1;A2;A3; 首先都添加到ServiceCollection 里面; 扩展方法本质上都是在调用 new ServiceDescr 阅读全文

posted @ 2015-03-25 15:17 DotNet1010 阅读(152) 评论(0) 推荐(0)