我被告知这是有效的,但......
我想我只是没有得到这个,似乎有一个隐藏的步骤我可能会失踪,任何人都可以纠正这个或指出我的错误?谢谢.
我有一个空白的解决方案:
- 内部是两个.net 2.0 Web应用程序
1)webapp1
2)webapp2
我希望他们共享相同的会话数据.
我的页面设置:
申请1:
Session("value") = "this is the value"
申请2:
If Not (Session("value") Is Nothing) Then value = Session("value").ToString() End If
我的思考过程:
1)转到服务,打开asp.net状态服务
2)打开两个项目中的web配置:设置
< machineKey validationKey="BFE2909A81903BB303D738555FEBC0C63EB39636F6FEFBF8005936CBF5FEB88CE327BDBD56AD70749F502FF9D5DECF575C13FA2D17CA8870ED21AD935635D4CC" decryptionKey="2A86BF77049EBA3A2FA786325592D640D5ACD17AF8FFAC04" validation="SHA1" /> < sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="20"/>
在两个网站.
3)编译和测试网站
4)变得失望,因为它不起作用.我从来没有看到第二个webapp的会话.
没有一些自定义代码,您无法在不同的ASP.NET应用程序之间共享会话 您在web.config中所做的是使用进程外会话,这意味着数据将不再驻留在内存中,而是驻留在专用计算机的内存中.这对服务器场很有用,它使用ApplicationName来了解会话所属的应用程序.因此,如果您希望它们共享会话,那么基本上您的应用程序需要具有相同的名称.但是有一些肮脏的解决方法.