ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第22章 语言服务、Web工作上下文定义实现

2021-09-19 20:33:36  阅读:243  来源: 互联网

标签:Web 定义 22 重构 本地化 该类 上下文 Nop


0074 LocalizationSettings、NopLocalizationDefaults

LocalizationSettingsk类,
通过该实体类及其属性成员实现当前程序与数据库中设置表(Setting)和本地化资源表(LocaleStringResource)之间的数据交互操作。

NopLocalizationDefaults类,通过该类所定义的常量字符串,为当前程序中的通用操作的实现提供相应的数据值。


0075 ILanguageService、LanguageService

    LanguageService类,继承于ILanguageService接口,通过该类中的定义实现了页面、程序和数据库指定表之间语言相关数据信息的交互操作。

0074 LocalizationSettings、NopLocalizationDefaults

LocalizationSettingsk类,
通过该实体类及其属性成员实现当前程序与数据库中设置表(Setting)和本地化资源表(LocaleStringResource)之间的数据交互操作。

NopLocalizationDefaults类,通过该类所定义的常量字符串,为当前程序中的通用操作的实现提供相应的数据值。


0075 ILanguageService、LanguageService

    LanguageService类,继承于ILanguageService接口,通过该类中的定义实现了页面、程序和数据库指定表之间语言相关数据信息的交互操作。

1、重构Nop.Services.Installation.InstallationService.InstallSettingsAsync方法,把本地化默认设置数据持久化到设置表中。

0076 NopRequestCultureProvider

    NopRequestCultureProvider类,通过该类中获取获取一个指定的本地化结果提供者实例,为客户端浏览器是信息的本地化显示提供支撑。

2、定义Nop.Web.Framework.Infrastructure.Extensions.ApplicationBuilderExtensions.UseNopRequestLocalization方法。

  1. 重构Nop.Web.Framework.Infrastructure.NopCommonStartup.Configure方法添加语句:

//加载自定义本地化中间件管道方法。

application.UseNopRequestLocalization();

0077 IWorkContext、WebWorkContext

    WebWorkContext类,继承于IWorkContext,通过该类中获取正在使用当前网站程序的用户。

注意:

1、为了简化实现,注释掉和删除了WebWorkContext类及其IWorkContext接口中的一些定义实现。

2、nopCommerce开发者把WebWorkContext类作为整个nopCommerce程序的耦合中枢。所以WebWorkContext类的定义实现并不复杂,但是该类通过耦合程序中的相应类为客户端浏览器中的内容信息进行本地化显示,同时它还将被程序绝大部分的其它类所耦合。所以该类被nopCommerce开发作为耦合中枢进行定义使用。即该类实现逻辑相对简单,但耦合逻辑的程度却十分复杂。

4、重构Nop.Core.Domain.Customers.Customer实体添加属性定义:

/// <summary>

        /// 【已经注册的网店编号】

        /// <remarks>

        /// 摘要:

        ///    获取/设置一个指定的已经注册的网店编号。

        /// </remarks>

        /// </summary>

    public int RegisteredInStoreId { get; set; }

5、重构Nop.Core.Domain.Customers.NopCustomerDefaults类。

6、重构Nop.Services.Customers.NopCustomerServicesDefaults类。

7、重构Nop.Services.Customers.IcustomerService接口和Nop.Services.Customers.CustomerService类。

8、重构Nop.Web.Framework.Infrastructure.DependencyRegistrar.Register方法添加语句:

   //通过.NetCore框架依赖注入容器实例的指定API方法,对Web工作上下文具体实现类进行依赖注入操作。

    services.AddScoped<IWorkContext, WebWorkContext>();

//通过.NetCore框架依赖注入容器实例的指定API方法,对语言服务具体实现类进行依赖注入操作。

services.AddScoped<ILanguageService, LanguageService>();

9、按F5执行程序,把本地化类实例的默认数据值,自动持久化指定数据库的设置表中。

   对以上功能更为具体实现和注释见:21-09-02_Nop_4.40.3(023_语言服务、Web工作上下定义实现,所有页面正常显示)。

标签:Web,定义,22,重构,本地化,该类,上下文,Nop
来源: https://blog.csdn.net/zhoujian_911/article/details/120384215

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有