20分钟。
问:当页面出现错误后我的Session是否将被保存?我需要在Session_End中处理一些清理工作,但是失败了,为什么?
答:Session_End只有在Session运行在InProc模式下才会被执行。Session_End使用的帐号是运行ASPnet_wp工作进程的帐号(这个可以在machine.config中设置)。因此,如果在Session_End方法里,使用集成安全性链接到SQL,它将使用ASPnet_wp进程的帐号打开链接,此时成功与否则依赖于你的SQL的安全性设置。
问:为什么当我设置cookieless为true是我在重定向的时候会丢失Session?
答:当使用cookieless时,你必须使用相对路径替换程序中的绝对路径,如果使用绝对路径ASP.NET将无法在URL中保存SessionID。
例如:将\myDir\mySubdir\default.ASPx换成..\default.ASPx即可。
问:如何将SortedList存储到Session或者Cache里?
答:请参考下面的方法:
SortedList x = new SortedList();
x.Add("Key1", "ValueA");
x.Add("Key2", "ValueB");
保存到Session中:
Session["SortedList1"] = x;
使用下面方法获得之:
SortedList y = (SortedList) Session["SortedList1"];
Chahe则同理。
问:我为什么会获得这样的错误信息“Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive”?
答:这个问题可能在一个已经安装了Microsoft Visual Studio .NET开发环境的机器上,再安装Window Sharepoint Server(WSS)后出现。
WSS ISAPI过滤器会处理所有的请求。当你通过虚拟目录浏览一个ASP.NET的应用程序时,ISAPI过滤器不会给文件夹目录分配URL。
解决方法是:不要再安装了WSS的机器上使用Session。
详细信息请参考:
Session state cannot be used in ASP.NET with Windows SharePoint Services
http://support.microsoft.com/default.ASPx?scid=kb;en-us;837376
问:如何删除Session变量?
答:想要删除Session变量可以使用HttpSessionState.Remove()方法。
问:是否有办法知道应用程序的Session在运行时占用了多少内存?
答:没有。目前这个值时无法考证的,至少我现在还没有看到这方面的资料。但是可以通过性能监视器以及程序代码大概估算出来一个值。
问:当页面中是否了frameset,发现在每个frame中显示页面的SessionID在第一次请求时都不相同,为什么?
答:原因是你的frameset是放在一个htm页面上而不是ASPX页面。
在一般情况下,如果frameset是ASPx页面,当你请求页面时,它首先
问:当页面出现错误后我的Session是否将被保存?我需要在Session_End中处理一些清理工作,但是失败了,为什么?
答:Session_End只有在Session运行在InProc模式下才会被执行。Session_End使用的帐号是运行ASPnet_wp工作进程的帐号(这个可以在machine.config中设置)。因此,如果在Session_End方法里,使用集成安全性链接到SQL,它将使用ASPnet_wp进程的帐号打开链接,此时成功与否则依赖于你的SQL的安全性设置。
问:为什么当我设置cookieless为true是我在重定向的时候会丢失Session?
答:当使用cookieless时,你必须使用相对路径替换程序中的绝对路径,如果使用绝对路径ASP.NET将无法在URL中保存SessionID。
例如:将\myDir\mySubdir\default.ASPx换成..\default.ASPx即可。
问:如何将SortedList存储到Session或者Cache里?
答:请参考下面的方法:
SortedList x = new SortedList();
x.Add("Key1", "ValueA");
x.Add("Key2", "ValueB");
保存到Session中:
Session["SortedList1"] = x;
使用下面方法获得之:
SortedList y = (SortedList) Session["SortedList1"];
Chahe则同理。
问:我为什么会获得这样的错误信息“Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive”?
答:这个问题可能在一个已经安装了Microsoft Visual Studio .NET开发环境的机器上,再安装Window Sharepoint Server(WSS)后出现。
WSS ISAPI过滤器会处理所有的请求。当你通过虚拟目录浏览一个ASP.NET的应用程序时,ISAPI过滤器不会给文件夹目录分配URL。
解决方法是:不要再安装了WSS的机器上使用Session。
详细信息请参考:
Session state cannot be used in ASP.NET with Windows SharePoint Services
http://support.microsoft.com/default.ASPx?scid=kb;en-us;837376
问:如何删除Session变量?
答:想要删除Session变量可以使用HttpSessionState.Remove()方法。
问:是否有办法知道应用程序的Session在运行时占用了多少内存?
答:没有。目前这个值时无法考证的,至少我现在还没有看到这方面的资料。但是可以通过性能监视器以及程序代码大概估算出来一个值。
问:当页面中是否了frameset,发现在每个frame中显示页面的SessionID在第一次请求时都不相同,为什么?
答:原因是你的frameset是放在一个htm页面上而不是ASPX页面。
在一般情况下,如果frameset是ASPx页面,当你请求页面时,它首先