• asp.net 配置session为sqlserver验证


    SQLServer

    (1).net2.0以上,建议不要使用aspnet_regsql.exe工具,而应该使用命令行,如aspnet_regsql -C "Data Source=.;Integrated Security=True" -ssadd -sstype c -d SessionStateDB
               原因是使用工具容易产生错误:SQL 服务器上未安装 ASP.NET 2.0 版会话状态,因此无法使用 SQL Server。请安装 ASP.NET 会话状态 SQL Server 2.0 版或更高版本。
    此时的配置文件应该是如下格式:<sessionState mode="SQLServer" allowCustomSqlDatabase="true"  sqlConnectionString="data source=VM2008;initial catalog=SessionStateDB;user id=sa;password=ioffice" timeout="30" />
    (2)当机器上同时存在.net1.1和.net2.0的时候,建议使用.net2.0的脚本。
    (3)SQLServer 模式容易带来效率上的开销,每个页面都会对数据库进行读写2次操作。解决办法在web.config文件中的system.web下的page修改属性,如<pages enableSessionState="ReadOnly"> 或者<pages enableSessionState="False">,在ioffice中一般使用readonly。同时把需要改写session的页面的 EnableSessionState="True",一般是登录登出页面。

    aspnet_regsql.exe 参数解析

    -- 常规选项 --

    -?   显示此帮助文本。

    -W  向导模式。(如果未指定其他参数,则默认为此模式。)

    -- SQL 连接选项 --

    -S <server>    要使用的 SQL Server 实例(SQL Server 7.0 及更高版本)。

    -U <login id>    用于进行身份验证的 SQL Server 用户名;需要 -P 选项。

    -P <password>  进行身份验证时使用的 SQL Server 密码;需要 -U 选项。

    -E                   使用当前 Windows 凭据进行身份验证。

    -C <connection string>
                      连接字符串。不指定用户名、密码和服务器名称,而是指定 SQL Server
                      连接字符串。该字符串不得包含数据库名称,除非另行指定。

    -sqlexportonly <filename>
                      生成用于添加或移除指定的功能、但不执行实际操作的 SQL 脚本文件。可与以下选项一起使用: -A、-R、-ssadd 和 -ssremove。

    -- 应用程序服务选项 --

    -A all|m|r|p|c|w  添加对某个功能的支持。可同时指定多个值。例如:

    -A mp
    -A m -A p

    all: 所有功能
    m: 成员资格
    r: 角色管理器
    p: 配置文件
    c: 个性化设置
    w: SQL Web 事件提供程序

    -R all|m|r|p|c|w  移除对一个功能的支持。可同时指定多个值。例如:

    -R mp
    -R m -R p

    all : 所有功能以及由这些功能共享的所有公共表和存储过程
    m: 成员资格
    r: 角色管理器
    p: 配置文件
    c: 个性化设置
    w: SQL Web 事件提供程序

    -d <database> 用于应用程序服务的数据库名称。如果未指定任何数据库名称,则使用默认数据库“aspnetdb”。

    -Q   安静模式;移除功能时不显示确认对话框。

    -- SQL 缓存依赖项选项(用于 SQL 7.0 和 2000) --

    -d <database>     用于 SQL 7.0 和 SQL 2000 中的 SQL 缓存依赖项的数据库名称。也可以改为选择使用带有 -C
    选项的连接字符串指定该数据库。(必需)

    -ed  为 SQL 缓存依赖项启用数据库。

    -dd  为 SQL 缓存依赖项禁用数据库。

    -et  为 SQL 缓存依赖项启用表。需要 -t 选项。

    -dt  为 SQL 缓存依赖项禁用表。需要 -t 选项。

    -t <table>  要为 SQL 缓存依赖项启用或禁用的表的名称。需要 -et 或 -dt 选项。

    -lt  列出为 SQL 缓存依赖项启用的所有表。

    -- 会话状态选项 --

    -ssadd   添加对 SQLServer 模式会话状态的支持。

    -ssremove   移除对 SQLServer 模式会话状态的支持。

    -sstype t|p|c  会话状态支持的类型:

               t: 临时。会话状态数据存储在“tempdb”数据库中。用于管理会话的存储过程安装在“ASPState”数据库中。如果重新启动
               SQL,则不保持数据。(默认)

                p: 保持。会话状态数据和存储过程都存储在“ASPState”数据库中。

                c: 自定义。会话状态数据和存储过程都存储在自定义数据库中。必须指定该数据库的名称。

    -d <database>     -sstype 为“c”时使用的自定义数据库的名称。

    总结:使用Sqlserver模式保存Session:即在命令行中输入C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
    aspnet_regsql.exe -C "Data Source=.;Integrated Security=True" -ssadd -sstype p

    即可创建ASPState数据库保存Session状态。

  • 相关阅读:
    使用C# lock同时访问共享数据
    将两个DataTable合并成一个DataTable
    嵌套存储过程返回值的调用
    在 Sql Server 中使用 MD5 加密
    用DIV制作即时提示层 防止被select控件遮挡的方法
    操作Cookie公用代码
    JS实现回调例子
    ASP存储过程参数数据类型
    在asp中使用js的encodeURIComponent方法
    Uva 10250 The Other Two Trees
  • 原文地址:https://www.cnblogs.com/fogwang/p/2666603.html
Copyright © 2020-2023  润新知