当我从一个浏览器复制URL以将其粘贴到另一个浏览器中时,我的会话数据未被检索,它显示“对象引用未设置为对象的实例”。
答案 0 :(得分:1)
(请注意 - 此答案假设您尚未使用无Cookie会话)
会话在ASP.NET中的工作方式是,当您第一次访问某个站点时,cookie文件会被放置在您的浏览器cookie-store中。 cookie包含会话ID,因此下次从该浏览器访问该站点时,ID将传递给Web应用程序,并且它知道要加载哪个会话状态。
但是,每个浏览器都实现了自己的cookie存储,因此切换浏览器意味着网站无法确定您的会话ID。
解决此问题的一种方法是使用cookieless sessions。但是,这些问题与可用性和security有关,因此在决定它们适合您之前要仔细思考。
另一个选择是tie together your authorization and session systems。但是,通常也不建议这样做。
答案 1 :(得分:0)
您将无法跨多个浏览器访问会话值。
此外,您应该检查Session中是否存在该值以避免服务器错误。
if(Session["Key"] != null)
{
//Write your code here
}
else
{
//Alternative code (redirection code)
}