Excel AddIn使用加载项express、VS2010、cometd.net在RTDInitialize事件处理程序中与cometd服务器和Tom对话,我登录Tom并连接到cometd服务器,我使用一个类credential的实例来记住它是loggedOn(将IsLoggedOn设置为true)和sessionID。
在topic的RefreshData处理程序中,如果还没有注册,我将注册到cometd服务器。然后,我将向Tom Cat订阅主题。现在,当用户从Excel中删除RTD函数时,调用DisconnectData处理程序,在其中我断开与cometd服务器的连接,从Tom Cat注销,清除sessionID。下一次,当用户再次进入RTD函数时,它将调用RTDInitialize事件处理程序,登录并连接IsLoggoned设置为true的位置,并更新sessionID。奇怪的是,在第二次登录后,在refreshData中,我检查了凭据,IsLogged变为false,sessionID为空,就像第一次注销时一样。有人知道为什么吗?不知道我是不是说清楚了。谢谢
发布于 2012-02-27 21:21:14
我想你在测试中只有一个主题。我假设您在RTD服务器模块的类级别上存储了对“类凭据实例”的引用。当您删除该主题时,RTD服务器模块将被销毁;这将终止有关以前连接的信息。如果你认为我误解了这个问题,请澄清。
https://stackoverflow.com/questions/9421665
复制相似问题