完整定义业务中枢、依赖、管道、云、供应商


 

121 Vendor、VendorAttribute、VendorAttributeValue、VendorNote、 VendorAttributeBuilder、VendorAttributeValueBuilder、VendorBuilder、VendorNoteBuilder、VendorService、IVendorService

    Vendor类,通过该实体类及其属性成员实现当前程序与数据库中供应商表之间的数据交互操作。

    VendorAttribute类,通过该实体类及其属性成员实现当前程序与数据库中供应商属性表之间的数据交互操作。

    VendorAttributeValue类,通过该实体类及其属性成员实现当前程序与数据库中供应商属性值表之间的数据交互操作。

    VendorNote类,通过该实体类及其属性成员实现当前程序与数据库中供应商通知表之间的数据交互操作。

VendorBuilder类,该类通过对父类中同名方法进行覆写,为供应商实体类中的一些属性成员定义了相关约束规则及其级联关系,为把这些定义约束规则和级联关系,映射到供应商表的相应字段上,提供数据和方法支撑。

VendorAttributeBuilder类,该类通过对父类中同名方法进行覆写,为供应商属性实体类中的一些属性成员定义了相关约束规则及其级联关系,为把这些定义约束规则和级联关系,映射到供应商属性表的相应字段上,提供数据和方法支撑。

    VendorAttributeValueBuilder类,该类通过对父类中同名方法进行覆写,为供应商属性值实体类中的一些属性成员定义了相关约束规则及其级联关系,为把这些定义约束规则和级联关系,映射到供应商属性值表的相应字段上,提供数据和方法支撑。

    VendorNoteBuilder类,该类通过对父类中同名方法进行覆写,为供应商通知实体类中的一些属性成员定义了相关约束规则及其级联关系,为把这些定义约束规则和级联关系,映射到供应商通知表的相应字段上,提供数据和方法支撑。

    VendorService类,继承于IVendorService接口,该类实现了供应商实体、供应商通知实体与供应商表、供应商通知表之间的CRUD数据交互操作。

    IVendorService接口,继承于该接口的类,实现了供应商实体、供应商通知实体与供应商表、供应商通知表之间的CRUD数据交互操作。

122 AzureBlobConfig、NopMetadataProvider、 NopRedirectResultExecutor、LanguageParameterTransformer、NopRequestCultureProvider

AzureBlobConfig类,通过该类及其属性成员实例,设定与云相关的一些默认数据值,并把这些数据值持久化存储到数据库的设置表中,管理员可以修改这些数据值,使当前程序可以根据管理员的需求进行定制。

    NopMetadataProvider类,该类用于验证所有继承于“IModelAttribute”接口的模型纪录中的属性成员及其值,在程序执行时是否重复被加载到内存中,如果重复被加载到内存中,则抛出异常信息,为开发者的调试操作提供相应的信息;如果没有重复被加载到内存中,则直接把模型纪录中的属性成员及其值与指定的页面进行绑定操作。

    NopRedirectResultExecutor类,如果用于重定向URL可能包含现在不允许的非ascii字符,需要在执行这个URL之前,强制通过该类中的方法成员,可以实现对该URL进行强制编码,以使该URL能够重定向到指定的页面。

    LanguageParameterTransformer类,通过当前类中的方法成员,调用业务中枢获取指定用户的本地化语言的ISO简写代码;如果本地化语言的ISO简写代码不存在,则直接使用默认的语言的ISO简写代码:“en”。

    NopRequestCultureProvider类,通过该类中的方法成员调用业务中枢及其客户端的浏览器获取指定客户的语言和文化信息。

1、重构Nop.Core.Configuration.AppSettings类,取消下列语句前的注释:

          public AzureBlobConfig AzureBlobConfig { get; set; } = new AzureBlobConfig();

       2、重构Nop.Data.Migrations.SchemaMigration.Up方法,取消下列语句前的注释:

             _migrationManager.BuildTable<Vendor>(Create);

            _migrationManager.BuildTable<VendorAttribute>(Create);

            _migrationManager.BuildTable<VendorAttributeValue>(Create);

            _migrationManager.BuildTable<VendorNote>(Create);

3、定义Nop.Services.Installation.InstallationService.InstallVendorsAsync方法。

       4、取消Nop.Services.Installation.InstallationService.InstallSampleDataAsync方法中下列语句中的注释:

              await InstallVendorsAsync();

5、重构Nop.Web.Framework.Infrastructure.DependencyRegistrar.Register方法,取消下列语句前的注释:

                services.AddScoped<IVendorService, VendorService>();

6、取消Nop.Services.Customers.ICustomerService接口和Nop.Services.Customers.CustomerService类,取消对下列方法注释:

       GetCustomerDefaultTaxDisplayTypeAsync

7、完整定义业务中枢Nop.Core.IWorkContext接口和Nop.Web.Framework.WebWorkContext类,取消对下列方法注释:

       GetCurrentVendorAsync

       GetWorkingCurrencyAsync

       GetTaxDisplayTypeAsync

       SetTaxDisplayTypeAsync

8、完整定义依赖注入Nop.Web.Framework.Infrastructure.Extensions.ServiceCollectionExtensions类,取消对下列方法注释:

       1>、AddAntiForgery:把自定义设定的反伪造内置依赖注入中间件,注入到内置依赖注入容器中。

       2>、AddDistributedCache:把自定义设定的分布式缓存内置依赖注入中间件,注入到内置依赖注入容器中。

       3>、AddNopDataProtection:把自定义设定的数据保护密钥内置依赖注入中间件,注入到内置依赖注入容器中。。

4>、取消对AddNopMvc方法中所有语句的注释。

5>、AddNopRedirectResultExecutor:如果用于重定向URL可能包含现在不允许的非ascii字符,需要在执行这个URL之前,强制通过下面类中的方法成员,可以实现对该URL进行强制编码,以使该URL能够重定向到指定的页面。

6>、AddNopWebMarkupMin: 把自定义设定的NopWebMarkupMin内置依赖注入中间件,注入到内置依赖注入容器中(WebMarkupMin中间件: 1、运行时最小化html、css、js(去除空格、注释...)2、对HTTP启用压缩(GZip、Deflate、Brotli..)。

注意:

在nopCommerce_4.40.4程序中ServiceCollectionExtensions类中定义了AddConfig方法,但该方法并未被内置依赖注入容器所调用,所以本人并未取消对AddConfig方法的注释。在nopCommerce_4.50.x程序中AddConfig方法被定义在了Nop.Core.Configuration.AppSettingsSavingEvent类中,以为自动执行缓存的清理操作提供支撑。

9、完整定义管道Nop.Web.Framework.Infrastructure.Extensions.ApplicationBuilderExtensions类,取消对下列方法注释:

       1>、UseNopRequestLocalization:自定义本地化管道中间件(调用业务中枢及其客户端的浏览器获取指定客户的语言和文化信息)。

2>、UseNopResponseCompression:自定义讲求压缩管道中间件(通用设置实例设置通过使用“zip ”格式进行压缩。)。

3>、UseNopWebMarkupMin:自定义WebMarkupMin管道中间件(WebMarkupMin中间件: 1、运行时最小化html、css、js(去除空格、注释...)2、对HTTP启用压缩(GZip、Deflate、Brotli..)。

10、完整定义Nop.Web.Framework.Infrastructure.AuthenticationStartup类。

1>、取消ConfigureServices方法中对下列语句注释:

//把自定义设定的数据保护密钥内置依赖注入中间件,注入到内置依赖注入容器中。

services.AddNopDataProtection();

11、完整定义Nop.Web.Framework.Infrastructure.NopCommonStartup类。

1>、取消ConfigureServices方法中对下列语句注释:

  //把内置响应压缩中间件(压缩中间件可进行压缩相关的设置,比如使用的压缩类型、压缩级别、压缩目标类型等)依赖注入中间件,注入到内置依赖注入容器中。

            services.AddResponseCompression();

            //把内置压缩请求依赖注入中间件,注入到内置依赖注入容器中。

            services.AddOptions();

            //把自定义设定的分布式缓存内置依赖注入中间件,注入到内置依赖注入容器中。

            services.AddDistributedCache();

//把自定义设定的反伪造内置依赖注入中间件,注入到内置依赖注入容器中。

            services.AddAntiForgery();

            //把内置本地化依赖注入中间件,注入到内置依赖注入容器中。

            services.AddLocalization();

//把自定义设定的路由内置依赖注入中间件,注入到内置依赖注入容器中。

            services.AddRouting(options =>

            {

                //调用业务中枢获取指定用户的本地化语言的ISO简写代码;如果本地化语言的ISO简写代码不存在,则直接使用默认的语言的ISO简写代码:“en”。

                options.ConstraintMap[NopPathRouteDefaults.LanguageParameterTransformer] = typeof(LanguageParameterTransformer);

            });

2>、取消Configure方法中对下列语句注释:

  //把自定义自定义讲求压缩管道中间件(压缩中间件可进行压缩相关的设置,比如使用的压缩类型、压缩级别、压缩目标类型等)管道中间件,集成(安装)到.NetCore框架内置管道实例中。

            application.UseNopResponseCompression();

//自定义设置内置本地化管道中间件(调用业务中枢及其客户端的浏览器获取指定客户的语言和文化信息)。

            application.UseNopRequestLocalization();

12、完整定义Nop.Web.Framework.Infrastructure.NopMvcStartup类。

1>、取消ConfigureServices方法中对下列语句注释:

    //把自定义设置的WebMarkupMin内置依赖注入中间件,注入到内置依赖注入容器中(WebMarkupMin中间件: 1、运行时最小化html、css、js(去除空格、注释...)2、对HTTP启用压缩(GZip、Deflate、Brotli..)。

            services.AddNopWebMarkupMin();

// 把自定义设置的重定向结果执行内置依赖注入中间件(如果用于重定向URL可能包含现在不允许的非ascii字符,

 // 需要在执行这个URL之前,强制通过下面类中的方法成员,可以实现对该URL进行强制编码,以使该URL能够重定向到指定的页面),注入到内置依赖注入容器中。

            services.AddNopRedirectResultExecutor();

2>、取消Configure方法中对下列语句注释:

       //把自定义自定义设置WebMarkupMin管道中间件(WebMarkupMin中间件: 1、运行时最小化html、css、js(去除空格、注释...)2、对HTTP启用压缩(GZip、Deflate、Brotli..)中间件,安装到.NetCore框架的内置管道实例中。

            application.UseNopWebMarkupMin();

       对以上功能更为具体实现和注释见:22-04-20-046_Nop_4.40.4(完整定义业务中枢、依赖、管道、云、供应商)。
————————————————
版权声明:本文为CSDN博主「zhoujian_911」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhoujian_911/article/details/125061302

猜你喜欢

转载自blog.csdn.net/ucic_0000001/article/details/127514928