首 页站长学院免费论文实用文书客户留言繁體中文
设为首页
加入收藏
联系我们
您当前的位置:爱上范文网 -> 站长学院 -> 服务器 -> windows教程 -> 文章内容 退出登录 用户管理
栏目导航
· ftp服务器 · 邮件服务器
· web服务器 · dns服务器
· 代理服务器 · windows教程
· linux教程
热门文章
· [组图] 2006:浏览器进入多元...
· 个人SMTP服务器的配...
· 不可忽视的BIOS参数...
· 趣话电脑病毒19年发...
· 什么是FTP及什么是F...
· [组图] Frontpage2000实务高...
· [图文] 网络协议X档案全集(...
· 局域网优化的六大秘...
· [组图] 新建Photoshop图像
· [组图] 用FrontPage 2000下...
相关文章
· 在web上如何自动安装...
· 在Web Service中使用...
· 在Web Service中使用...
· 在Web Service中使用...
· 在Web Service中使用...
· 在Web Service中使用...
· [图文] 在Web界面下如何生成...
· 关于数据绑定在Web页...
· 把数据库连接信息写...
在Web Service中使用ASP.net状态保持(2)
作者:佚名  来源:天极网  发布时间:2004-7-24 6:37:00  发布人:admin

减小字体 增大字体

很容易在ASP.net中使用Session来保持状态信息,HttpSessionState类为你封装了存储Session状态的细节问题。绝大多数的客户端已经能够明白他们必须返回服务器设置的cookie,而且HttpSessionState类也支持在SOAP通信中常用的底层传输。(问题)因此,很明显,使用ASP.net的Session机制会是满足状态控制要求的明智的选择。

使服务器支持Session

在ASP.net中,对Web方法的状态支持默认是关闭的,你必须为每个要使用Session状态的Web方法显式地激活Session支持。激活Session支持的方法是添加一个EnableSession选项到你的函数的WebMethod属性中,并且将其值设置为true。下面的代码演示了如何激活Session并且在方法中访问Session状态信息。

[VB.net]

_
Public Function IncrementSessionCounterX() As Integer
Dim counter As Integer
If Context.Session("Counter") Is Nothing Then
counter = 1
Else
counter = Context.Session("Counter") + 1
End If
Context.Session("Counter") = counter
Return counter
End Function


如你所料,如果你为一个Web方法激活了Session支持,并不意味着其它的Web方法的Session支持也被激活。事实上,如果Web方法的EnableSession选项没有被显式地设置为true,那么Context.Session属性的值将是null。

假设通过设置web.config文件禁止session,那么即使你在WebMethod属性中使用了EnableSession选项,Context.Session的值也将一直是null。web.config文件中的/configuration/system.web/sessionState项有一个mode参数,它决定了你的ASP.net程序使用何种方法来保持Session状态。该参数默认设置为“InProc”,这时HttpSessionState对象将简单地保存在ASP.net进程的内存区。如果被设置为“Off”,那么ASP.net程序的Session支持就被关闭了。

从服务器端看来,ASP.net的session状态的有效范围仅仅是某一个给定的ASP.net应用程序,这就意味着一个HttpSessionState类的实例只能被一个特定用户向某一个虚拟目录发出的所有Session被激活的ASP.net请求所使用,也就是说,使用同一个会话ID的向其它的虚拟目录的请求将导致ASP.net不能找到对应的session对象——因为会话ID不是为该ASP.net应用程序设定的。ASP.net并不区分对ASPX和ASMX文件的请求,直到该请求需要使用Session对象,因此,理论上你可以在一个Web方法调用和一个普通的ASPX文件之间共享Session状态信息。然而,我们将看到也有些客户端的问题使这个想法变得不那么容易实现


[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录
Copyright © 2002-2005 23fw.com. All Rights Reserved .