如何在基类页面中存取Session的值?

zhangqilin 2005-06-21 11:58:34
看了以前相关的帖子,说要实现接口IRequiresSessionState
public class PageBase:System.Web.UI.Page,IRequiresSessionState
{}
怎么不行?是这样实现的么?
错误信息:
“/bqkx”应用程序中的服务器错误。
--------------------------------------------------------------------------------

只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.HttpException: 只有在配置文件或 Page 指令中将启用会话状态设置为真时,才可以使用会话状态
...全文
409 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeusvenus 2005-08-31
  • 打赏
  • 举报
回复
才看到,已经结贴了不知楼主还会不会来看,我说InProc模式可能会出问题指的是Session丢失或紊乱的问题,改为StateServer或SQLServer模式存Session更可靠些。
renyu732 2005-06-22
  • 打赏
  • 举报
回复
up
zhangqilin 2005-06-22
  • 打赏
  • 举报
回复
to zeusvenus(清柳)
<sessionState
mode="InProc"
可能会出问题,改成什么?

zeusvenus 2005-06-22
  • 打赏
  • 举报
回复
<sessionState
mode="InProc"
可能会出问题
zhangqilin 2005-06-22
  • 打赏
  • 举报
回复
up
zhangqilin 2005-06-22
  • 打赏
  • 举报
回复
我实在解决不了了,放弃!
WeekZero 2005-06-21
  • 打赏
  • 举报
回复
string pSessionExamDate = HttpContext.Current.Session["examDate"].ToString();
这样的吗?
zhangqilin 2005-06-21
  • 打赏
  • 举报
回复
source code:
using System;
using System.Web.UI;
using System.Data;
using System.Data.OleDb;
using System.Web.SessionState;
using System.Web;

namespace bqkx
{
/// <summary>
/// PageBase 的摘要说明。
/// </summary>
public class PageBase:System.Web.UI.Page,IHttpHandler ,IRequiresSessionState
{

public PageBase()
{
if (System.Web.HttpContext.Current.Session.Count==0)
{
if (Session["username"].ToString() =="" || Session["username"]==null)
Response.Redirect("Login.aspx");

}
// TODO: 在此处添加构造函数逻辑
}
}
}
zhangqilin 2005-06-21
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!--系统设置=========================================-->
<add key="DSN" value="data/#bqkx.mdb" />
<add key="NewsImgPath" value="Upload_News_Images/" />
<add key="NewsAttachPath" value="Upload_News_Attach/" />

<!--设置结束=========================================-->

</appSettings>
<system.web>

<!-- 动态调试编译
设置 compilation debug="true" 以启用 ASPX 调试。否则,将此值设置为
false 将提高此应用程序的运行时性能。
设置 compilation debug="true" 以将调试符号(.pdb 信息)
插入到编译页中。因为这将创建执行起来
较慢的大文件,所以应该只在调试时将此值设置为 true,而在所有其他时候都设置为
false。有关更多信息,请参考有关
调试 ASP.NET 文件的文档。
-->
<compilation defaultLanguage="c#" debug="true"/>

<!-- 自定义错误信息
设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。
为每个要处理的错误添加 <error> 标记。

"On" 始终显示自定义(友好的)信息。
"Off" 始终显示详细的 ASP.NET 错误信息。
"RemoteOnly" 只对不在本地 Web 服务器上运行的
用户显示自定义(友好的)信息。出于安全目的,建议使用此设置,以便
不向远程客户端显示应用程序的详细信息。
-->
<customErrors
mode="RemoteOnly"
/>

<!-- 身份验证
此节设置应用程序的身份验证策略。可能的模式是 "Windows"、
"Forms"、 "Passport" 和 "None"

"None" 不执行身份验证。
"Windows" IIS 根据应用程序的设置执行身份验证
(基本、简要或集成 Windows)。在 IIS 中必须禁用匿名访问。
"Forms" 您为用户提供一个输入凭据的自定义窗体(Web 页),然后
在您的应用程序中验证他们的身份。用户凭据标记存储在 Cookie 中。
"Passport" 身份验证是通过 Microsoft 的集中身份验证服务执行的,
它为成员站点提供单独登录和核心配置文件服务。
-->
<authentication mode="Windows" />

<!-- 授权
此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
(未经身份验证的)用户。
-->

<authorization>
<allow users="*" /> <!-- 允许所有用户 -->
<!-- <allow users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
<deny users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
-->
</authorization>

<!-- 应用程序级别跟踪记录
应用程序级别跟踪为应用程序中的每一页启用跟踪日志输出。
设置 trace enabled="true" 可以启用应用程序跟踪记录。如果 pageOutput="true",则
在每一页的底部显示跟踪信息。否则,可以通过浏览 Web 应用程序
根目录中的 "trace.axd" 页来查看
应用程序跟踪日志。
-->
<trace
enabled="false"
requestLimit="10"
pageOutput="false"
traceMode="SortByTime"
localOnly="true"
/>

<!-- 会话状态设置
默认情况下,ASP.NET 使用 Cookie 来标识哪些请求属于特定的会话。
如果 Cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
若要禁用 Cookie,请设置 sessionState cookieless="true"。
-->
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>
<pages enableSessionState="true"/>

<!-- 全球化
此节设置应用程序的全球化设置。
-->
<globalization
requestEncoding="gb2312" responseEncoding="gb2312" />

</system.web>

</configuration>
coldpanth 2005-06-21
  • 打赏
  • 举报
回复
你Web.Config是什么样的?帖出来看看
zhangqilin 2005-06-21
  • 打赏
  • 举报
回复
还不行
hchxxzx 2005-06-21
  • 打赏
  • 举报
回复
你可尝试用如下:
System.Web.HttpContext.Current.Session[""]
sunrongxa 2005-06-21
  • 打赏
  • 举报
回复
up
zhangqilin 2005-06-21
  • 打赏
  • 举报
回复
难道没人知道么?
coveking 2005-06-21
  • 打赏
  • 举报
回复
什么基页面?session不是全局变量吗?会话还在session变量就一直存在啊!
zhangqilin 2005-06-21
  • 打赏
  • 举报
回复
自己up一下

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧