2
我有一个使用MVC 2构建的站点。我的问题是Response.End()导致会话丢失第一次访问会话。Response.End()导致会话丢失第一次会话使用
测试案例1:
启动应用程序。
转到主页/ X。一个项目被添加到
session
和Response.End()
被调用。再次打开主页/ X并检查
Session["X"]
(在分配行之前添加一个断点)。它返回空值。执行将“X”重新分配给会话的其余操作。Reopen主页/ X。这一次
Session["X"]
返回正确的值。
测试案例2:
保持Web应用程序的运行。关闭浏览器并重新打开以打开新的会话。访问主页/ X。
结果:
Session["X"]
始终有一个值。
任何人都可以向我解释为什么会发生这种情况,以及如何解决它?
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
public void X()
{
Session["X"] = "X";
Response.End();
}
}
通过此http://stackoverflow.com/a/329523/1557322。希望这个信息会帮助你。 –
我想你会将asp.net会话与浏览器会话混淆。 –
@ViralShah,但我在这里ViewState没有问题 – Thuan