• asp.net 配置session为sqlserver验证


    转载:http://jopwu.blog.163.com/blog/static/73025412011112114850183/

    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状态。


    以下内容在2013年的兰州监测项目中用到:

    配置在hazelz数据库上

    工具路径:  C:\Windows\Microsoft.NET\Framework\v4.0.30319

    aspnet_regsql.exe -C "Data Source=SDWM-20130311QK\SQLEXPRESS;Integrated security=true" -ssadd -sstype c -d "hazelz"

  • 相关阅读:
    RGB888转RGB666
    bmp文件格式详细解析
    Qt 5简介
    IntelliJ IDEA 快捷键
    猫猫学iOS之小知识之_xcode插件的删除方法_自己主动提示图片插件KSImageNamed有时不灵_分类或宏之类不能自己主动提示,
    sql server 2008出现远程过程调用失败
    Oracle-31-对视图DML操作
    uva 11127(暴力)
    各种排序算法的分析与实现
    我的Android进阶之旅------&gt;怎样解决Android 5.0中出现的警告: Service Intent must be explicit:
  • 原文地址:https://www.cnblogs.com/zhangyg/p/3081980.html
Copyright © 2020-2023  润新知