asp.Netはsqlserverでsession共有を実現(100%成功)
11440 ワード
亲爱なる友达、このドキュメントをダウンロードして、私はあなたがきっと私と同じだと思って、sessionが问题を共有するため、ずっと苦悩して良策がありませんか?そのため、私はいろいろな方法を試しましたが、成功できませんでした.それからよく试して、最后に原因を発见して、ついに解决しました.
一、構成理由説明:
共有セッションは、会社が開発する際、WEBがサーバに公開する複数のサイト、例えばwww.yd009.com newsを構成するためである.yd009.com product.yd009.comといういくつかのサイトには、登録情報があり、メインサイトにリンクがあります.マスタ局がログインした場合、これらの2級ドメイン名にジャンプしても、同様にログイン状態が可能である.これをする前に、私もネットでたくさんの資料を探して、ほとんど完璧ではありません.とても気がふさいで、みんなはすべて手を残すためかもしれません.
http://www.cnblogs.com/dfsxh/archive/2009/10/09/1579579.html
http://www.cnblogs.com/yizhu2000/archive/2008/04/01/1131976.html
http://hi.baidu.com/vcty2007/blog/item/ce313460f04d474eebf8f8fb.html
===多すぎる.完璧なものは一つもない.
二、構成を実現する
言語:asp.Net開発ツール:VS 2008データベースsqlserver 2005
三、配置手順
1,運転開始->cmd->cd C:WINDOWSMicrosoft.NET\Framework\v2.0.50727(win 2003は一般的にこのディレクトリ)
2,aspnet_regsql.exe-sstype c-ssadd-dあなたのデータベース名-Uユーザー名-Pパスワード-Sデータベースサービスアドレス
3、中のストレージプロセスを修正する
以上の手順で、コピーして実行すればいいです.
四、webを修正する.システムにいるWebは以下の項目を追加または変更します.
五、OK、君は大功を成し遂げた.IISを再起動することを覚えておいて、自分の本体のクッキーやゴミの項目をクリアしたほうがいいです.
はい、解説が終わりました.
一、構成理由説明:
共有セッションは、会社が開発する際、WEBがサーバに公開する複数のサイト、例えばwww.yd009.com newsを構成するためである.yd009.com product.yd009.comといういくつかのサイトには、登録情報があり、メインサイトにリンクがあります.マスタ局がログインした場合、これらの2級ドメイン名にジャンプしても、同様にログイン状態が可能である.これをする前に、私もネットでたくさんの資料を探して、ほとんど完璧ではありません.とても気がふさいで、みんなはすべて手を残すためかもしれません.
http://www.cnblogs.com/dfsxh/archive/2009/10/09/1579579.html
http://www.cnblogs.com/yizhu2000/archive/2008/04/01/1131976.html
http://hi.baidu.com/vcty2007/blog/item/ce313460f04d474eebf8f8fb.html
===多すぎる.完璧なものは一つもない.
二、構成を実現する
言語:asp.Net開発ツール:VS 2008データベースsqlserver 2005
三、配置手順
1,運転開始->cmd->cd C:WINDOWSMicrosoft.NET\Framework\v2.0.50727(win 2003は一般的にこのディレクトリ)
2,aspnet_regsql.exe-sstype c-ssadd-dあなたのデータベース名-Uユーザー名-Pパスワード-Sデータベースサービスアドレス
3、中のストレージプロセスを修正する
1 set ANSI_NULLS ON
2 set QUOTED_IDENTIFIER ON
3 go
4
5
6 alter PROCEDURE dbo.TempGetAppID
7 @appName tAppName,
8 @appId int OUTPUT
9 AS
10
11 SET @appName = LOWER(@appName)
12 SET @appId = NULL
13
14 -- AppName AppId
15 -- , AppId .
16 SELECT top 1 @appId = AppId
17 FROM [hnAuto].dbo.ASPStateTempApplications
18 --WHERE AppName = @appName
19
20 -- AppId
21 IF @appId IS NULL
22 BEGIN
23 BEGIN TRAN
24 --
25 SELECT @appId = AppId
26 --SELECT top 1 @appId = AppId
27 FROM [hnAuto].dbo.ASPStateTempApplications WITH (TABLOCKX)
28 WHERE AppName = @appName
29
30 -- AppId
31 IF @appId IS NULL
32 BEGIN
33 -- AppName HashCode
34 EXEC GetHashCode @appName, @appId OUTPUT
35
36 -- AppId
37 INSERT [hnAuto].dbo.ASPStateTempApplications
38 VALUES
39 (@appId, @appName)
40
41 IF @@ERROR = 2627
42 BEGIN
43 DECLARE @dupApp tAppName
44
45 SELECT @dupApp = RTRIM(AppName)
46 FROM [hnAuto].dbo.ASPStateTempApplications
47 WHERE AppId = @appId
48
49 RAISERROR('SQL session state fatal error: hash-code collision between applications ''%s'' and ''%s''. Please rename the 1st application to resolve the problem.',
50 18, 1, @appName, @dupApp)
51 END
52 END
53 COMMIT
54 END
55
56 RETURN 0
以上の手順で、コピーして実行すればいいです.
四、webを修正する.システムにいるWebは以下の項目を追加または変更します.
1 <httpCookies domain="news.com" />
2 <sessionState mode="SQLServer" sqlConnectionString="data source=[Server];initial catalog=[DataBase];user id=[UserName];password=[Password]" allowCustomSqlDatabase="true" timeout="120"/>
五、OK、君は大功を成し遂げた.IISを再起動することを覚えておいて、自分の本体のクッキーやゴミの項目をクリアしたほうがいいです.
はい、解説が終わりました.