小编use*_*198的帖子

ASP.NET会话已过期或无法找到 - >因为Session.SessionID发生更改(Reporting Services)

1.-我正在使用报告服务,有时ASP.NET session has expired or could not be found当我尝试加载报告时出现此错误.

2.-我意识到,即使用户是相同的,Session.SessionID属性也会更改时出现此错误.如果它没有改变,则加载报告.我的意思是,如果我多次刷新报告,只要Session.SessionID与最后一个相同,就会加载报告.

3.-Microsoft文档说:

使用基于cookie的会话状态时,在使用Session对象之前,ASP.NET不会为会话数据分配存储空间.结果,为每个页面请求生成新的会话ID,直到访问会话对象.如果您的应用程序需要整个会话的静态会话ID,您可以在应用程序的Global.asax文件中实现Session_Start方法,并将数据存储在Session对象中以修复会话ID,或者您可以在您的另一部分使用代码应用程序在Session对象中显式存储数据.

如果您的应用程序使用无cookie会话状态,则会在第一个页面视图上生成会话ID,并为整个会话维护该会话ID.

关键是我不能使用无cookie会话状态,因为我需要cookie.

我该怎么做才能避免这个错误?或者我该怎么做才能避免Session.SessionID在每个请求上更改?

asp.net session-state sessionid reporting-services

9
推荐指数
2
解决办法
4万
查看次数