易截截图软件、单文件、免安装、纯绿色、仅160KB

关于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


相关文档:

ASP.NET文件上传下载

下载文件:string musicUrl = "music/" + Request.QueryString["murl"].ToString();
string fileName = Request.QueryString["murl"].ToString();
string filePath = Server.MapPath(musicUrl);//路径
FileInfo fileInfo = new FileInfo(filePath);
Response.Clear();
Response.Cl ......

21个Asp.Net经常会用到的函数集


1、DateTime 数字型
System.DateTime currentTime=new System.DateTime();
1.1 取当前年月日时分秒
currentTime=System.DateTime.Now;
1.2 取当前年
int 年=currentTime.Year;
1.3 取当前月
int 月=currentTime.Month;
1.4 取当前日
int 日=currentTime.Day;
1.5 取当前时
int 时=currentTime.Hour ......

Silverlight应用程序中如何获取ASP.NET页面参数

需求
如下面的项目结构,我们会在Default.aspx页面中需要传递两个值到SilverlightTestPage.aspx页面,并且需要在SilverlightTestPage.aspx页面所宿主的Silverlight应用程序中获取并显示:
1.先修改page 的构造函数
public Page(string passText)
{
    InitializeComponent();
 & ......

Asp.net使用ajax无刷新上传文件(附源码)

使用Ajax无刷新上传文件是当前比较流行的功能。借助JQuery强大的插件,现在已经可以很容易了。
首先导入js文件jquery.ajaxfileupload.js。此插件的原理是在文档中创建iframe和form然后在将文件上传到服务器。
 1 <html xmlns="http://www.w3.org/1999/xhtml">
 2 <head id="Head ......

ASP.NET自定义控件属性的特性大全

自定义控件属性的特性:
Bindable
指定屬性是否支援Data Binding。
这个特性表示属性是否可以绑定一个有效数据源。通常使用布尔值进行设置。例如:Bindable(true)。如果使用值true标记属性,表示该属性可以绑定一个有效数据源,且应引发该属性的属性更改通知。
Browsable
控制屬性或事件是否顯示於& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号