我有一个具有登录/注销功能的应用程序。当用户注销时,我想完全重置所有类和变量(我使用静态类,因此这会使问题更加困难)。
我已经决定最好离开重置并完全重新加载应用程序 - 用户不会知道差异,它会清除任何可能的面包屑。
所以我想对以下任何一个(无论哪个是最好/最简单的)
提出一些想法1)通过关闭进程本身并重新启动来重新加载应用程序 2)保持应用程序运行并重置所有数据和变量(包括窗口) - 可能通过AppDomain.Unload / Load或某些组合
有什么建议吗?
答案 0 :(得分:2)
你可能不想听到这个,但是你现在遇到了这些问题,因为最初的设计很可能是不合适的。在静态上下文中存储与用户会话相关的数据通常不是最好的方法。
答案 1 :(得分:0)
如果选项1是有效选项,那么它是迄今为止最简单的选项,所以这就是我要做的。
使用AppDomains作为沙箱并非没有问题,您可以从这个问题中看到:.NET - What's the best way to implement a "catch all exceptions handler"