本章将按照自顶向下的开发模式,来解释Session是怎样被“nopCommerce”程序定义实现的。
0053、NopCommonStartup
(1) 、修改Controllers.CustomerController类。
(2)、NopCommonStartup类是“nopCommerce”程序对.Ne
tCore框架中,所有的内置常规依赖注入和管道中间件方法的自定义和扩展,为了简化实现逻辑和具体实现该类了除了Session依赖注入和管道中间件方法,之外的其它依赖注入和管道中间件方法都已经被删除。
(3)、定义Nop.Web.Framework.Infrastructure.Extensions.ServiceCollectionExtensions.AddHttpSession自定义依赖注入中间件方法。
(4)、在Controllers.CustomerController.Index方法的return View();语句前设置断点,按F5执行程序后,可以很直接的看出程序能够从一个指定的Session实例中获取,一个指定的实体实例及其相应的数据信息。
实际上到此步“nopCommerce”程序关于Session定义的基本实现已经完成。
0054、HostingConfig
(5)、HostingConfig类
1、Nop.Web.Framework.Infrastructure.Extensions.ServiceCollectionExtensions.ConfigureApplicationServices方法中添加语句:
//把“appsettings.json”文件中获节点(键)“Hosting”的所有配置信息,注入到内置依赖注入容器中。
services.ConfigureStartupConfig<HostingConfig>(configuration.GetSection("Hosting"));
2、在“appsettings.json”文件中添加关于“Hosting” 节点(键)的所的所有配置信息。
3、HostingConfig类只是把以前已经定义但没有使用的类添加到该示例程序中,从而做完示例程序的收尾,并没有其它的作用。
对以上功能更为具体实现和注释见:21-06-30_Nop4.4(024_Session定义的具体实现完成)。