Я пытаюсь добавить глобализацию в приложение Intranet, используя куки-файл, чтобы пользователи могли выбирать культуру. Межплатформенное программное обеспечение настроено и запущено, но у меня возникла проблема с добавлением файла cookie на основе выбора пользовательского интерфейса.Как Response.Cookies.Append() в ASP.Net Core 1.1?
Метод прямо из документации Asp.Net ядра, как показано ниже:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<RequestLocalizationOptions>(
options =>
{
var supportedCultures = new List<CultureInfo>
{
new CultureInfo("en-US"),
new CultureInfo("en-GB"),
new CultureInfo("fr-FR"),
new CultureInfo("es-ES")
};
options.DefaultRequestCulture = new RequestCulture(culture: "en-GB", uiCulture: "en-GB");
options.SupportedCultures = supportedCultures;
options.SupportedUICultures = supportedCultures;
});
services.AddLocalization();
services.AddMvc(config =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
config.Filters.Add(new AuthorizeFilter(policy));
})
.AddViewLocalization();
services.AddSession(options => {
options.CookieName = "Intranet";
});
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
var locOptions = app.ApplicationServices.GetService<IOptions<RequestLocalizationOptions>>();
app.UseRequestLocalization(locOptions.Value);
app.UseSession();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
[HttpPost]
public IActionResult SetLanguage(string culture, string returnUrl)
{
Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1)
});
return LocalRedirect(returnUrl);
}
Вопросы являются:
- Response не существует
- LocalRedirect не существует
Я пробовал:
- HttpResponse, HttpRequest
- LocalRedirectResult
У вас есть, что код внутри контроллер или он отдельно в другом месте? – DavidG
Возможный дубликат [Cookies и ASP.NET Core] (https://stackoverflow.com/questions/36166075/cookies-and-asp-net-core) –