ASP.NET IIS 上的核心粘性会话
ASP.NET Core sticky sessions on IIS
我想在 IIS 上发布我的 asp.net 核心应用程序,即 IIS 作为反向代理和核心 运行 在 1-n Kestrels 上。
我一直在阅读有关 .net 核心中的会话和缓存的信息。对于会话,显然建议仅在 dev/test 中使用内存缓存,我想原因是因为假定粘性会话不可用。
但是,IIS 能否提供粘性会话,即来自一个会话的所有请求都被路由到同一个 Kestrel,因此内存中的会话对我来说应该没问题?
如果您要部署到一台机器上,使用内存会话就可以了,如果测试站点在一台机器上也可以。
如果您要跨网络场等进行部署,内存会话将不起作用,您将需要找到分布式会话存储的解决方案。
如果是这种情况,你不妨实现这个并进行类似的测试。
此 post 向您展示了如何设置内存中会话:https://www.exceptionnotfound.net/finding-and-using-asp-net-session-in-core-1-0/
基本设置:
public void ConfigureServices(IServiceCollection services)
{
...
services.AddMemoryCache();
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(60);
options.CookieName = ".MyCoreApp";
});
...
}
和
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerfactory)
{
...
app.UseSession();
...
}
然后调用 SetString 和 GetString:
Context.Session.SetString("UserName", "John Smith");
var userName = Context.Session.GetString("UserName");
在SQL服务器中存储session可以看下面的。
http://www.mikesdotnetting.com/article/292/configuring-sql-server-for-session-state-in-asp-net-core-1-0-mvc
我想在 IIS 上发布我的 asp.net 核心应用程序,即 IIS 作为反向代理和核心 运行 在 1-n Kestrels 上。
我一直在阅读有关 .net 核心中的会话和缓存的信息。对于会话,显然建议仅在 dev/test 中使用内存缓存,我想原因是因为假定粘性会话不可用。
但是,IIS 能否提供粘性会话,即来自一个会话的所有请求都被路由到同一个 Kestrel,因此内存中的会话对我来说应该没问题?
如果您要部署到一台机器上,使用内存会话就可以了,如果测试站点在一台机器上也可以。
如果您要跨网络场等进行部署,内存会话将不起作用,您将需要找到分布式会话存储的解决方案。 如果是这种情况,你不妨实现这个并进行类似的测试。
此 post 向您展示了如何设置内存中会话:https://www.exceptionnotfound.net/finding-and-using-asp-net-session-in-core-1-0/
基本设置:
public void ConfigureServices(IServiceCollection services)
{
...
services.AddMemoryCache();
services.AddSession(options =>
{
options.IdleTimeout = TimeSpan.FromMinutes(60);
options.CookieName = ".MyCoreApp";
});
...
}
和
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerfactory)
{
...
app.UseSession();
...
}
然后调用 SetString 和 GetString:
Context.Session.SetString("UserName", "John Smith");
var userName = Context.Session.GetString("UserName");
在SQL服务器中存储session可以看下面的。 http://www.mikesdotnetting.com/article/292/configuring-sql-server-for-session-state-in-asp-net-core-1-0-mvc