Iis 如何在ASP vNext中使用会话
如何在ASP MVC 6中使用会话变量Iis 如何在ASP vNext中使用会话,iis,asp.net-core,asp.net-core-mvc,Iis,Asp.net Core,Asp.net Core Mvc,如何在ASP MVC 6中使用会话变量 我找不到关于如何存储和使用会话变量的工作示例。有人能帮忙吗?github上的会话回购有一个示例: 您可以通过控制器的会话属性添加包“Microsoft.AspNet.session”:“1.0.0-beta8”到project.json,然后使用Microsoft.AspNet.Http访问会话 在该名称空间中,您有上下文的扩展方法 您还需要在Startup.cs上将其与DI一起使用: public void ConfigureServices(IServ
我找不到关于如何存储和使用会话变量的工作示例。有人能帮忙吗?github上的会话回购有一个示例: 您可以通过
控制器的会话
属性添加包“Microsoft.AspNet.session”:“1.0.0-beta8”
到project.json,然后使用Microsoft.AspNet.Http访问会话代码>
在该名称空间中,您有上下文的扩展方法
您还需要在Startup.cs
上将其与DI一起使用:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddSession();
}
下面是一个示例控制器:
using Microsoft.AspNet.Http;
using Microsoft.AspNet.Mvc;
namespace MvcWebApp.Controllers
{
[Route("[controller]")]
public class SomeController : Controller
{
public async Task<IActionResult> Edit()
{
HttpContext.Session.SetInt("myVar", 35);
}
}
}
使用Microsoft.AspNet.Http;
使用Microsoft.AspNet.Mvc;
命名空间MvcWebApp.Controllers
{
[路线(“[控制器]”)]
公共类控制器:控制器
{
公共异步任务编辑()
{
HttpContext.Session.SetInt(“myVar”,35);
}
}
}
我尝试过,但出现以下错误:500内部服务器错误系统。必须指定ArgumentException ISession Store。如果启用app.UseInMemorySession(),我收到另一个错误500内部服务器错误系统。异常TODO:在尝试激活“Microsoft.AspNet.Session.DistributedSessionStore”时,无法解析类型“Microsoft.Framework.Cache.Distributed.IDistributedCache”的服务。是否启用了缓存?示例使用Redis cacheI未启用缓存。我尝试添加RedisCache包,但仍然没有成功。我成功地做到了。它是services.AddCachingServices();AddSessionServices();在添加项目nuget引用并在服务中添加会话后,我收到以下错误:错误CS1061'IServiceCollection'不包含'AddSession'的定义,并且找不到接受类型为'IServiceCollection'的第一个参数的扩展方法'AddSession'(您是否缺少using指令或程序集引用?
Beta 8将上下文属性重命名为HttpContext(与MVC 5一致)Hi@ChristopherHackett您是否有指向此重命名的链接?当然@neel-记录在MVC repo的票据中