zoukankan      html  css  js  c++  java
  • [ASP.NET] 将Session值储存于SQL Server中.

    感谢hertcloud(重造⊙DNA)aero_boy(老牛)的帮助!

    一般情况下,我们喜欢使用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=  "server=127.0.0.1;UID=sa;PWD=secret  "  /  >  
                   </system.web  >  
               </configuration  >  
           重启SQL  server和SQL  Server Agent服务.  
      可以用下面的SQL  查询会话  
       select  *  from  AspStateTempSessions  
    '==========================  

    <END>

  • 相关阅读:
    成为高级 React 开发你需要知道的知识点
    Socket 连接问题之大量 TIME_WAIT
    x == (x = y) 不等于 (x = y) == x ?
    「工具」三分钟了解一款思维导图工具:XMind Zen
    Touch Bar 废物利用系列 | 在触控栏上显示 Dock 应用图标
    vim中delete(backspace)键不能向左删除
    Vue2.0学习(四)--组件的继承与扩展
    quasar+cordova+zbar实现Android扫描条形码
    PWA技术理论+实战全解析
    分页请求时,有新数据加入时,下一页会出现重复数据问题
  • 原文地址:https://www.cnblogs.com/Dream/p/3931.html
Copyright © 2011-2022 走看看