医药CRM系统开发

自已做医药CRM系统有四年了,终于可以算个产品了,努力市场化,今年重种将医药营销的理念加入CRM

导航

将Session值储存于SQL Server中.

Posted on 2007-03-14 14:49  hhq80  阅读(805)  评论(1编辑  收藏  举报

一般情况下,我们喜欢使用Session储存我们的变量。Asp.Net提供了下面一些方法储存Session的值:
InProc
State Server
SQL Server

“InProc”表示我们使用传统ASP一样的方法储存Session的值,而且“State Server”则表示使用另外一台主机来储存Session的值。当然我们也能使用SQL Server储存值,我们这篇文章就专门用于讲解这种方法。

运行InstallSqlState.sql文件

首先需要在Winnt\Microsoft.Net中找到InstallSqlState.sql文件,然后在SQL Server 中执行它。在我的机器中,它存在于E:\WINNT\Microsoft.NET\Framework\v1.0.2914\目录中。这个文件是微软自己提供的,里面有很全的SQL语句,修改你的web.config文件,指定Session的mode为SQL Server

将web.config的sessionState部分改成:
<sessionState mode="SQLServer" sqlConnectionString="data source=WIN2000;userid= sa;password=" cookieless= "false"timeout= "20" />

创建Asp.Net Web Forms

现在所有的Session变量都储存在数据表中,而不是内存中了。你可打开ASPStateTempSessions表来查看这些Session数据了。

删除这些数据库和表

如果你不喜欢这个数据储存方式,看得实在是不爽,那么你可以把这些表和数据库完全删除掉。这个也不要担心这种删除会影响数据库(因为害怕误删除一些数据),因为微软同样也得供给你们一个删除SQL 文件,名叫UnintallSQLState.sql。它与IntallSQLState.sql一样放在.Net的Config目录中。

另:
2 存储在Windows服务中 
  启动asp.net  state  service  服务(net  start  aspnet_state) 
    修改Web.config 
           <configuration  > 
               <system.web  > 
                     <sessionState  mode=  "StateServer  " 
                         stateConnectionString=  "tcpip=127.0.0.1:42424  "  /  > 
               </system.web  > 
           </configuration  > 
3 存储在数据库中 
  在microsoft  sql  server  query  analyzer  中运行installsqlstate.sql,这个文件在     "C:\WINNT\Microsoft.NET\Framework\v1.1.4322"下面找 
  修改Web.config 
           <configuration  > 
               <system.web  > 
    <sessionState
  mode="SQLServer"
  sqlConnectionString="data source=.;user id=sa;password=135"
  cookieless= "false"
  timeout= "20" />
               </system.web  > 
           </configuration  > 
       重启SQL  server和SQL  Server Agent服务. 
  可以用下面的SQL  查询会话 
   select  *  from  AspStateTempSessions