|
|
1
2
由于您的所有用户似乎都经过了身份验证,我建议您考虑使用不同的方式来管理会话状态和超时。 问题的一部分在于,如果用户只是关闭浏览器而不注销,或停止使用应用程序,则必须等到会话超时后才能将其关闭,并为许可问题释放UniObjects。 我的建议如下:
现在,如果用户关闭浏览器窗口,那么他们的会话超时比平时快得多,但是如果浏览器窗口保持打开状态,那么他们的会话是持久的。 可以看到代码示例和演练 here . 现在,您需要采取解决方案,防止用户整晚不打开浏览器窗口,占用您的工发组织许可证。在这种情况下,我将实现类似的方法,其中一个停滞的页面(即用户在20分钟内没有做任何事情)被刷新到一个注销的ASPX页面,从而清除会话。 |
|
|
2
2
如果您使用的是uniobjects com,请确保您的com编组工作正常。看看: safe com wrapper-托管可释放的强类型安全包装到后期绑定的COM http://www.codeproject.com/KB/COM/safecomwrapper.aspx 另一件值得注意的事情是,uniobjects com中的动态数组类存在线程问题,不能很好地处理.net。如果可以,可以在.NET中使用自己的动态数组类或数组拆分,而不是在UniObjects COM中使用动态数组类。 有时,当您试图从类中访问数据时,它会显示一个空字符串,但当您调试它时,数据就在那里。不知道原因。 如果需要与.NET一起使用的通用动态数组类,我可以提供一个。 据我所知,uniobjects.net没有这些问题。 内森校长 |
|
|
3
2
当你说你在使用uniobjects时…您使用的是COM或.NET对象集吗?最简单的方法是使用单对象连接池。 创建单例时,是将其存储在应用程序对象、会话对象还是缓存对象中? 我建议使用应用程序对象,因为会话对象可以做一些奇怪的事情。处理和签出超时的一种方法是将缓存键与cacheremovecallback一起使用。通过这种方式,您可以使用文件/路径监视器依赖项来监视Windows文件的更改,从而导致手动删除或缓存依赖项超时。 退一步讲,缓存依赖项的超时仅由页面活动驱动,如果ASP.NET会话循环,则可能/将破坏缓存依赖项。 弥敦校长 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |