|  |  |  | @ -4,6 +4,7 @@ using Microsoft.AspNetCore.Builder; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.AspNetCore.Cors; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.AspNetCore.DataProtection; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.AspNetCore.Hosting; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.AspNetCore.Localization; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.Extensions.Configuration; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.Extensions.DependencyInjection; | 
			
		
	
		
			
				
					|  |  |  |  | using Microsoft.Extensions.Hosting; | 
			
		
	
	
		
			
				
					|  |  |  | @ -12,9 +13,9 @@ using Sanhe.Abp.AspNetCore.Mvc.Wrapper; | 
			
		
	
		
			
				
					|  |  |  |  | using Sanhe.Abp.ExceptionHandling; | 
			
		
	
		
			
				
					|  |  |  |  | using Sanhe.Abp.ExceptionHandling.Emailing; | 
			
		
	
		
			
				
					|  |  |  |  | using Sanhe.Abp.Features.LimitValidation.Redis; | 
			
		
	
		
			
				
					|  |  |  |  | using Sanhe.Abp.Wrapper; | 
			
		
	
		
			
				
					|  |  |  |  | using StackExchange.Redis; | 
			
		
	
		
			
				
					|  |  |  |  | using System; | 
			
		
	
		
			
				
					|  |  |  |  | using System.Collections.Generic; | 
			
		
	
		
			
				
					|  |  |  |  | using System.Linq; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp; | 
			
		
	
		
			
				
					|  |  |  |  | using Volo.Abp.Account; | 
			
		
	
	
		
			
				
					|  |  |  | @ -132,11 +133,11 @@ public class BookStoreModule : AbpModule | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         context.Services.AddAlwaysAllowAuthorization(); | 
			
		
	
		
			
				
					|  |  |  |  |         // wrap | 
			
		
	
		
			
				
					|  |  |  |  |         Configure<AbpWrapperOptions>(options => | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             options.IsEnabled = true; | 
			
		
	
		
			
				
					|  |  |  |  |             options.IgnoreNamespaces.Clear(); | 
			
		
	
		
			
				
					|  |  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |  |         //Configure<AbpWrapperOptions>(options => | 
			
		
	
		
			
				
					|  |  |  |  |         //{ | 
			
		
	
		
			
				
					|  |  |  |  |         //    options.IsEnabled = true; | 
			
		
	
		
			
				
					|  |  |  |  |         //    options.IgnoreNamespaces.Clear(); | 
			
		
	
		
			
				
					|  |  |  |  |         //}); | 
			
		
	
		
			
				
					|  |  |  |  |         // limit | 
			
		
	
		
			
				
					|  |  |  |  |         Configure<AbpRedisRequiresLimitFeatureOptions>(options => | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
	
		
			
				
					|  |  |  | @ -231,14 +232,14 @@ public class BookStoreModule : AbpModule | 
			
		
	
		
			
				
					|  |  |  |  |         Configure<AbpLocalizationOptions>(options => | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             options.Resources | 
			
		
	
		
			
				
					|  |  |  |  |                 .Add<BookStoreResource>("en") | 
			
		
	
		
			
				
					|  |  |  |  |                 .Add<BookStoreResource>("zh-Hans") | 
			
		
	
		
			
				
					|  |  |  |  |                 .AddBaseTypes(typeof(AbpValidationResource)) | 
			
		
	
		
			
				
					|  |  |  |  |                 .AddVirtualJson("/Localization/BookStore"); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             options.DefaultResourceType = typeof(BookStoreResource); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |             //options.Languages.Add(new LanguageInfo("en", "en", "English")); | 
			
		
	
		
			
				
					|  |  |  |  |             options.Languages.Add(new LanguageInfo("zh-Hans", "zh-Hans", "简体中文")); | 
			
		
	
		
			
				
					|  |  |  |  |             options.Languages.Add(new LanguageInfo("en", "en", "English")); | 
			
		
	
		
			
				
					|  |  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         Configure<AbpExceptionLocalizationOptions>(options => | 
			
		
	
	
		
			
				
					|  |  |  | @ -262,10 +263,10 @@ public class BookStoreModule : AbpModule | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     private void ConfigureAutoApiControllers() | 
			
		
	
		
			
				
					|  |  |  |  |     { | 
			
		
	
		
			
				
					|  |  |  |  |         Configure<AbpAspNetCoreMvcOptions>(options => | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
		
			
				
					|  |  |  |  |             //options.ConventionalControllers.Create(typeof(BookStoreModule).Assembly); | 
			
		
	
		
			
				
					|  |  |  |  |         }); | 
			
		
	
		
			
				
					|  |  |  |  |         //Configure<AbpAspNetCoreMvcOptions>(options => | 
			
		
	
		
			
				
					|  |  |  |  |         //{ | 
			
		
	
		
			
				
					|  |  |  |  |         //    options.ConventionalControllers.Create(typeof(BookStoreModule).Assembly); | 
			
		
	
		
			
				
					|  |  |  |  |         //}); | 
			
		
	
		
			
				
					|  |  |  |  |     } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |     private void ConfigureSwagger(IServiceCollection services) | 
			
		
	
	
		
			
				
					|  |  |  | @ -355,7 +356,11 @@ public class BookStoreModule : AbpModule | 
			
		
	
		
			
				
					|  |  |  |  |             app.UseDeveloperExceptionPage(); | 
			
		
	
		
			
				
					|  |  |  |  |         } | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         app.UseAbpRequestLocalization(optios => optios.SetDefaultCulture("zh-hans")); | 
			
		
	
		
			
				
					|  |  |  |  |         // 微软内置从三个地方获取本地化:QueryString、Cookie、Header:accept-heade | 
			
		
	
		
			
				
					|  |  |  |  |         // 浏览器中文的Culture字符串是zh-CN与Abp的zh-Hans不匹配 | 
			
		
	
		
			
				
					|  |  |  |  |         // 故而清除此provider | 
			
		
	
		
			
				
					|  |  |  |  |         app.UseAbpRequestLocalization( | 
			
		
	
		
			
				
					|  |  |  |  |            options => options.RequestCultureProviders.RemoveAll(provider => provider is AcceptLanguageHeaderRequestCultureProvider)); | 
			
		
	
		
			
				
					|  |  |  |  | 
 | 
			
		
	
		
			
				
					|  |  |  |  |         if (!env.IsDevelopment()) | 
			
		
	
		
			
				
					|  |  |  |  |         { | 
			
		
	
	
		
			
				
					|  |  |  | 
 |