ASP.NET实现多域名多网站共享Session值

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 22:20 点击:

1、实现功能:可设置哪些站点可以共享Session值,这样就防止别人利用这个去访问
  要想实现这个功能就必须得把Session值 放入数据库中, 所有我们先在VS命令工具下注册一个 
 命名如下:aspnet_regsql.exe -S [数据库服务地址] -E -ssadd  具体格式请参考 /?
添加成功后我们休要对ASP.NET生成的存储过程进行简单的修改,
    打开ASP.net为我们创建的数据库“ASPState” 找到存储过程“TempGetAppID”
    然后修改存储过程如下: www.2cto.com
  
USE [ASPState]
GO
/****** Object:  StoredProcedure [dbo].[TempGetAppID]    Script Date: 11/21/2011 16:15:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

    ALTER PROCEDURE [dbo].[TempGetAppID]
    @appName    tAppName,
    @appId      int OUTPUT
    AS
    SET @appName = LOWER(@appName)
    SET @appId = NULL
     set @appId=640732509  --这个是我自己测试时写死的  你可以通过系统数据库tempdb中的ASPStateTempApplications查询到站点appId 记住只有当网站的Seeion配置是
数据库中 而且保存过一次Session值才能查询的到
    /*
    --SELECT @appId = AppId
    --FROM [tempdb].dbo.ASPStateTempApplications
    --WHERE AppName = @appName
    以上注释办法为原来ASP.net 自动生成的
    */

    IF @appId IS NULL BEGIN
        BEGIN TRAN       

        SELECT @appId = AppId
        FROM [tempdb].dbo.ASPStateTempApplications WITH (TABLOCKX)
        WHERE AppName = @appName
       
        IF @appId IS NULL
        BEGIN
            EXEC GetHashCode @appName, @appId OUTPUT
           
            INSERT [tempdb].dbo.ASPStateTempApplications
            VALUES
            (@appId, @appName)
           
            IF @@ERROR = 2627
            BEGIN
                DECLARE @dupApp tAppName
           
                SELECT @dupApp = RTRIM(AppName)
                FROM [tempdb].dbo.ASPStateTempApplications
                WHERE AppId = @appId
               
                RAISERROR('SQL session state fatal error: hash-code collision between applications ''%s'' and ''%s''. Please rename the 1st application to resolve the problem.',
                        &

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • 浅析.NET下XML数据访问新机制
      • asp.net 面试+笔试题目第1/2页
      • C# 邮件地址是否合法的验证
      • C#高级编程:数据库连接[1]
      • asp.net 设置GridView的选中行的实现代码
      • 经典C++程序1
      • IIS 自动回收导致后台定时器失效的问题解决
      • ASP.NET GridView列表代码示例
      • 微软ASP.NET站点部署指南(3):使用Web.Config文件的Transforma
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1