Merge pull request #9671 from abpframework/auto-merge/rel-4-4/498

Merge branch dev with rel-4.4
pull/9690/head
maliming 4 years ago committed by GitHub
commit 3b49a77a7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -64,6 +64,7 @@ namespace Volo.Abp.AspNetCore.MultiTenancy
context,
requestCulture
);
context.Items[AbpRequestLocalizationMiddleware.HttpContextItemName] = true;
}
await next(context);

@ -33,6 +33,8 @@ namespace Volo.Abp.AspNetCore.Mvc.Localization
new RequestCulture(culture, uiCulture)
);
HttpContext.Items[AbpRequestLocalizationMiddleware.HttpContextItemName] = true;
var context = new QueryStringCultureReplacementContext(HttpContext, new RequestCulture(culture, uiCulture), returnUrl);
await QueryStringCultureReplacement.ReplaceAsync(context);

@ -10,6 +10,8 @@ namespace Microsoft.AspNetCore.RequestLocalization
{
public class AbpRequestLocalizationMiddleware : IMiddleware, ITransientDependency
{
public const string HttpContextItemName = "__AbpSetCultureCookie";
private readonly IAbpRequestLocalizationOptionsProvider _requestLocalizationOptionsProvider;
private readonly ILoggerFactory _loggerFactory;
@ -29,6 +31,23 @@ namespace Microsoft.AspNetCore.RequestLocalization
_loggerFactory
);
context.Response.OnStarting(() =>
{
if (context.Items[HttpContextItemName] == null)
{
var requestCultureFeature = context.Features.Get<IRequestCultureFeature>();
if (requestCultureFeature?.Provider is QueryStringRequestCultureProvider)
{
AbpRequestCultureCookieHelper.SetCultureCookie(
context,
requestCultureFeature.RequestCulture
);
}
}
return Task.CompletedTask;
});
await middleware.Invoke(context);
}
}

Loading…
Cancel
Save