设置:
服务器运行Windows 2012。
用VB6编写用户界面exe的应用程序安装在服务器上,所有用户通过RDP连接来运行它。
在同一服务器上用COM+中安装的VB6创建的业务对象dll。当应用程序启动时,它实例化dll。
问题:
应用程序不时(最近更频繁)遇到描述错误"拒绝访问。未被授权使用此应用程序。目前的解决方案是重新启动服务器。
在这一点上,我可以指向COM+。获得错误后,似乎COM+中的对象不活动(不旋转)。当我点击"关闭"并再次打开应用程序时,它运行正常。
是间歇性的。一个星期过去了,没有问题,有时一天不止一次。
问题:
是否有人遇到过类似的问题,原因和解决方法是什么?
你能建议如何进一步解决这个问题吗?是资源问题——内存、cpu、网络、安全更新?
感谢Moshe
对于那些偶然遇到这个问题的人:事实证明这是我们代码的问题,而不是COM+的问题。我们使用MTS属性组管理来保存用户登录时创建的唯一令牌,并在应用程序调用我们的dll发送此令牌时进行身份验证。我们通过获取存储在mts属性组中的数组来验证它。所有代币都有离开的时间。多年来,它一直运转良好。它开始失败,因为我们得到了一个重复的令牌,它破坏了我们的身份验证代码。我们认为这与新用户快速打开我们的应用程序多次有关。这也解释了为什么它是断断续续的。一旦我们发现了这个问题,我们就能够重现这个问题。解决方案是向令牌添加GUID以确保唯一性。到现在已经3天多了,还没有得到这个错误。