在asp.net中使用session常见问题集锦
问:为什么session在有些机器上偶尔会丢失?
答:可能和机器的环境有关系,比如:防火墙或者杀毒软件等,尝试关闭防火墙。
问:为什么当调用session.abandon时并没有激发session_end方法?
答:首先session_end方法只支持inproc(进程内的)类型的session。其次要激发session_end方法,必须存在session(即系统中已经使用session了),并且至少要完成一次请求(在这次请求中会调用该方法)。
问:为什么当我在inproc模式下使用session会经常丢失?
答:该问题通常是由于应用程序被回收导致的,因为当使用进程内session时,session是保存在aspnet_wp进程中,当该进程被回收session自然也就没有了,确定该进程是否被回收可以通过查看系统的事件查看器获得信息。
具体信息请参考:
session variables are lost intermittently in asp.net applications
http://support.microsoft.com/default.aspx?scid=kb;en-us;q316148
在1.0的时候也有一个bug会导致工作进程被回收并重启,该bug已经在1.1和sp2中修复。
关于该bug的详细信息请参考:
asp.net worker process (aspnet_wp.exe) is recycled unexpectedly.
http://support.microsoft.com/default.aspx?scid=kb;en-us;q321792
问:为什么当session超时或者abandoned后,新session的id和原来的相同?
答:因为sessionid是保存在客户端浏览器的实例里,当session超时在服务器重新建立session时,将使用浏览器传来的sessionid,所以当session超时后,再重新建立后sessionid并不变。
问:为什么每次请求的sessionid都不相同?
答:该问题可能是没有在session里面保存任何信息引起的,即程序中任何地方都没有使用session。当session中保存信息之后sessionid将一直和浏览器相关,此时的sessionid将不会在变化。
问:asp和asp.net之间是否可以共享session?
答:可以。但是这是一个比较复杂的过程,微软提供了官方的解决方案,请参考:http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/converttoaspnet.asp
问:什么类型的对象可以保存在session
相关文档:
很多同学都读过这篇文章吧 ASP.NET MVC中你必须知道的13个扩展点,今天给大家介绍一个ASP.NET MVC的扩展库,主要就是针对这些扩展点进行。这个项目的核心是IOC容器,包括Ninject, StructureMap, Unity ,Windsor和Autofac。如果你和我一样喜欢使用IOC,这个库值得你关注,这些IOC我都用过了,现在比较喜欢使用Autofac。
AS ......
ASP.NET如何连接Access或SQL Server数据库
首先看一个例子代码片断:
程序代码:
--------------------------------------------------------------------------------
using System.Data;
using System.Data.OleDb;
......
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+ ......
//数字字符
public static string KeepNum(string str)
{
char[] tmp = new char[str.Length];
char[ ......
不要使用不必要的Session,和ASP中一样,在不必要的时候不要使用Session
不使用不必要的Server Control
不使用不必要的ViewState
不要用Exception控制程序流程
禁用VB和Jscript动态数据类型
使用存储过程完成数据访问
只读数据访问不要使用DataSet
关闭ASP.N ......
一、asp.net中导出Execl的方法: 在 asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址 输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,\t分隔的数据,导出 execl时,等价于分列,\n等价于换
一、asp.net中导出Execl的方法:
在 asp.net中导出E ......