|
|
1
1
我终于找到了问题的答案。它的起源在应用程序代码中(比如99%的程序员的第三方工具“bug”)。我决定无论如何都把它贴出来,以防有人遇到类似的情况。 此代码是WebServiceRequester类的一部分。web服务请求者类在创建会话时实例化,并保存在会话中。在创建过程中,我们初始化成员“m_webServiceURL”,该成员在创建后保存在会话中。此成员初始化的值取决于本地计算机上的设置。 WebServiceRequester类包含一个WebService对象。 无法在会话中保存WebService对象,它们不能在asp中序列化。该属性具有[NonSerialized]属性。因此,每次我们在页面生命周期中第一次访问对象的“WebService”属性时,我们都必须创建一个新的属性,并为其分配在会话中保存的url“m_webServiceURL”。 您可以看到,新的webservice对象可能位于不同的机器上,这意味着每台机器上的设置不同。 框29设置为访问本地主机上的Web服务
从技术上讲,它们都设置在同一台机器上。但这里有一个场景: 登录框29。m_webServiceURL在会话中设置为localhost。 [此处方框29中的一些请求] 框30加载它的会话,创建一个新的webservice obect,其中localhost作为web服务地址。 框30向错误的web服务发出请求,导致会话过期异常。 调试期间的一个问题是,网络监视器未记录本地通信。 让我开始跟踪的原因是,box 29日志跟踪中从未记录过异常,这是它应该记录的。 谢谢大家的建议,非常感谢。 祝您今天过得愉快。 JF |
|
|
2
0
很抱歉,这并不是你问题的严格答案,但它应该(a)修复它,或者(b)显著缩小它的范围。 |
|
|
3
0
|
|
|
4
0
使用数据库方法有其自身的问题。我认为你应该能够使用你喜欢的方法。 可能 this session troubleshooting article 或" Troubleshooting Session Related Issues in ASP.NET " 或" Troubleshooting Expired ASP.NET Session State and Your Options " |
|
|
5
0
我会站不住脚,重复MS SQL Server的建议。安装SQL Server Express,它是完全免费的,包括用于商业用途,并且它只有以下3个缺点,这在本阶段对您来说应该不是问题:
|
|
|
6
0
|
|
|
7
0
不要乱搞SQL,而是直接将测试发送到IIS节点中,看看是否仍然存在相同的问题。我相信,如果您只做少量测试,StateServer将不会成为问题。 |
|
|
8
0
默认情况下,ASP.net_SessionID cookie域名设置为完整的应用程序路径。因此,这可能是曲奇没有旅行的原因之一。 例如。 Request.Cookies[“ASP.NET_SessionId”].Domain=“.yourdomain.com”。
|