首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 服务器 → Win服务器 → 文章内容

在Web Service中使用ASP.net状态保持(2)

作者:佚名  来源:天极网  发布时间:2007-2-7 22:20:11
很容易在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状态信息。然而,我们将看到也有些客户端的问题使这个想法变得不那么容易实现


[] [返回上一页] [打 印]
  • 上一篇文章:在Web Service中使用ASP.net状态保持(1)
  • 下一篇文章:在Web Service中使用ASP.net状态保持(3)

  • 相关文章:
  • 在web上如何自动安装用户证书及根证书
  • 在Web Service中使用ASP.net状态保持(6)
  • 在Web Service中使用ASP.net状态保持(5)
  • 在Web Service中使用ASP.net状态保持(4)
  • 在Web Service中使用ASP.net状态保持(3)
  • 在Web Service中使用ASP.net状态保持(2)
  • 在Web Service中使用ASP.net状态保持(1)
  • 在webshell基础上伪造SQL注入点--webshell,基础上,伪...
  • [组图]在WEB程序中隐藏后门--WEB,程序,隐藏后门
  • [图文]在Web界面下如何生成像资源管理器一样的树形目...
  • 把数据库连接信息写在web.config文件里
  • 关于数据绑定在Web页面呈现效果的一点小技巧
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号