我这样做是这样的:
基本上,这两个应用程序都使用存储在sqlserver中的本机.net
sessionState。通过使用相同的机器密钥并对存储过程进行细微调整,两个应用程序可以共享任何会话密钥和/或表单身份验证。
这两个应用程序都将在其web.config中执行以下 *** 作:
<sessionState mode="SQLServer" sqlConnectionString="Data Source=.SQLEXPRESS;User Id=test;Password=test;Application Name=AppName" /> <machineKeyvalidationKey="SOMEKEY"validation="SHA1" decryption="AES"/>
会话状态数据库需要在两个应用程序都可以看到的数据库服务器上设置。
执行此 *** 作的文档:http : //msdn.microsoft.com/zh-
cn/library/ms229862(VS.80).aspx
需要运行的命令:C: Program Files(x86) Microsoft Visual Studio 9.0 VC bin>
aspnet_regsql.exe -E -ssadd –sstype p -S。 SQLEXPRESS
存储过程(TempGetAppID)调整为:
@appId int OUTPUTAS -- start change -- Use the application name specified in the connection for the appname if specified -- This allows us to share session between sites just by making sure they have the -- the same application name in the connection string. DECLARE @connStrAppName nvarchar(50) SET @connStrAppName = APP_NAME() -- .NET SQLClient Data Provider is the default application name for .NET apps IF (@connStrAppName <> '.NET SQLClient Data Provider') SET @appName = @connStrAppName -- end changeSET @appName = LOWER(@appName)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)