关于ASP.NET Session失效的问题
今天我们SKY小组做一个项目,遇到了Session失效的问题,去网上查了一些资料后,自己整理出来,供以后学习使用。
Session失效的原因有很多种,抛出那些琐碎的问题(比如客服端Cookie关闭、Session设置的时间太短等),这里主要说明一些容易被我们忽略的问题:
1、bin目录中文件被修改。asp.net有一种机制,为了保证dll重新编译之后,系统正常运行,它会重新启动一次网站进程,这时就会导致Session丢失,所以如果有access数据库位于bin目录,或者有其他文件被系统改写,就会导致Session丢失。
2、删除服务器上面的目录也会导致Session失效,(我们遇到的问题就是属于这种)ASP.NET应用程序会监视服务器上面的所有目录,一旦发现被删除,ASP.NET程序就会重新启动,所以原来的Session会失效。
解决办法:
在web.config文件中添加<sessionState mode='InProc' stateConnectionString='tcpip=127.0.0.1:42424' sqlConnectionString='data source=127.0.0.1;Trusted_Connection=yes' cookieless='true' timeout='60'/>
其中mode有三种取值,也就是说Asp.Net提供了下面三种方法储存Session的值:
1、mode=‘InProc’(默认的就是这个),也就是将Session保存在进程内(IIS5是aspnet_wp.exe,而IIS6是W3wp.exe),这个进程不稳定,在某些事件发生时,进程会重起,所以造成了存储在该进程内的Session丢失。
2、mode=‘StateServer’,stateConnectionString="tcpip=127.0.0.1:42424"有效。StateServer是本机的一个服务,可以在系统服务里看到服务名为ASP.NET State Service的服务,默认情况是不启动的。当我们设定mode为StateServer之后,请手工将该服务启动。除此之外,我们还可以将Session通过其他电脑的StateService来保存。具体的修改是这样的。同样还在sessionState标签中,有个stateConnectionString='tcpip=127.0.0.1:42424'属性,其中有个ip地址,默认为本机(127.0.0.1),你可以将其改成你所知的运行了StateService服务的电脑IP,这样就可以实现位于不同电脑上的Asp.net程序互通Session了。但是需要修改目标机器的H
相关文档:
在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......
传统型ASP.NET Web Forms是基于同时包含了表现层和后台代码的Web页面,所以,紧随其后出现的ASP.NET AJAX,特别是这个框架的服务器端控件并没有像它们本应该的那样光芒四射。于是,很多跟随AJAX时髦的ASP.NET开发者只是向ASP.NET页面中随意地放置一些UpdatePanel控件以便使其程序实现基本的AJAX支持。实际 ......
1. 使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:
a.aspx的C#代码
private void Button1_Click(object sen ......
使用Ajax无刷新上传文件是当前比较流行的功能。借助JQuery强大的插件,现在已经可以很容易了。
首先导入js文件jquery.ajaxfileupload.js。此插件的原理是在文档中创建iframe和form然后在将文件上传到服务器。
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head id="Head ......
自定义控件属性的特性:
Bindable
指定屬性是否支援Data Binding。
这个特性表示属性是否可以绑定一个有效数据源。通常使用布尔值进行设置。例如:Bindable(true)。如果使用值true标记属性,表示该属性可以绑定一个有效数据源,且应引发该属性的属性更改通知。
Browsable
控制屬性或事件是否顯示於& ......