这可能是一个简单的问题,我希望至少是这样.
我开始寻找到ASP.NET核心的候选发布版,我可以看到,很多的配置已经搬出旧web.config文件,并到JSON结构的文件(以及XML和其它的中间件你可能想写自己).
我还没有弄清楚如何做的一件事是在旧的web.config方法中这么简单,保护你的网站的一些基本组件,如cookie.
以前我们会设定secure,httpOnly等里面的web.config以及当它来部署一个不错的转换文件将修改的值,我们和吐在年底前把新文件.在阅读了一下后,似乎web.config现在几乎已经死了,那么我们如何才能实现相同的结果呢?
我知道我们可以根据是否某些变量,如环境,设置为DEV,分期,生产等加载不同的配置文件,但这似乎与东西是一个变换的所有意图和目的,除了在如何更换只是变换它真的装了吗?
我在这里错过了一些东西,还是让自己陷入了困境?
在ASP.NET MVC 5中,我有以下扩展名:
public static ActionResult Alert(this ActionResult result, String text) {
HttpCookie cookie = new HttpCookie("alert") { Path = "/", Value = text };
HttpContext.Current.Response.Cookies.Add(cookie);
return result;
}
Run Code Online (Sandbox Code Playgroud)
基本上我正在添加一个带有文本的cookie.
在ASP.NET Core中,我无法找到创建HttpCookie的方法.
这不可能吗?
为什么我不能使用HttpContext或HttpCookie?有什么特殊用途吗?
我的实际用途:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
Run Code Online (Sandbox Code Playgroud)
我的命名空间:
namespace eCoffee.Main
Run Code Online (Sandbox Code Playgroud)
我的课程+方法:
public class AppRunCookie
{
public static string CookieName { get; set; }
public static string Key { get; set; }
public AppRunCookie(string key)
{
CookieName = "MyCookie_" + key;
}
public static void SetCookie(string key, int cookieExpireDate = 30)
{
HttpCookie myCookie = new HttpCookie(CookieName);
myCookie["Key"] = key;
myCookie.Expires = DateTime.Now.AddDays(cookieExpireDate);
HttpContext.Current.Response.Cookies.Add(myCookie);
}
public string GetCookie()
{
HttpCookie myCookie = HttpContext.Current.Request.Cookies[CookieName];
if …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Cookie允许用户具有文化偏爱,将全球化添加到Intranet应用程序中。中间件已设置并正在运行,但是根据UI选择,我在附加到Cookie时遇到了问题。
该方法直接来自Asp.Net Core文档,如下所示:
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 …Run Code Online (Sandbox Code Playgroud)