登录和初始屏幕
本文关键字:屏幕 登录 | 更新日期: 2023-09-27 18:36:10
我有LoginForm
、Splashscreen
、MainForm
和Authentification
。
当前的设计是在任何其他动作和MainForm
之前显示LoginForm
。
调用检查凭据的模式 LoginForm,如果确定 Application.Run(MainForm) 与 Splashcreen。
问题: EF 检查 uid/pwd 时,登录窗体冻结 6 秒。因此,初始屏幕显示<1 秒。
Q1:有没有办法加快冷启动的速度,因为在MainForm启动之前只检查用户/密码组合?
Q2:什么是最好的开始序列设计?你怎么想:
- 从
LoginForm
调用Spashscreen
上下文加载虚拟数据(所有用户), - 然后显示
LoginForm
并检查凭据。 - 模式登录窗体关闭运行(主窗体)后。
注意:EF600rc 尚无唯一注释。
更好的解决方案是使用显示登录屏幕的框架窗口。登录屏幕检查凭据,并让框架窗口切换到主屏幕。
你可以在这里阅读。源代码也可用。
据我所知:
A1:升级 EF,并使用 Ngen 和 VS2013 为实体框架程序集生成本机映像,如链接中所示(性能问题)。但是VS2013对我来说不是选择。其他选择可能是降级到 EF5.?!?
A2:建议的登录表单的开始顺序,初始屏幕显示良好。
关于序列
初始屏幕有助于为您的应用程序提供"面孔"。它们通常很吸引眼球,等等等等,但它们是开发人员让应用程序的某些部分在幕后初始化的绝佳工具。因此,有时此批量最初是在身份验证之前或稍后出现的,具体取决于应用程序。很多时候,它来得更晚,因为必须加载与用户相关的数据。
现在从用户的角度来看,如果查看登录>Splash->应用程序是太多的过渡IMO,特别是考虑到将两者结合起来的可能性。
另类想法
这是满足要求并使其更容易编程的另一个想法。您可以将 2 与启动画面 UID 的一些精心设计相结合,密码字段可以在初始屏幕上。然后,当单击用户ID/密码并且服务器正在进行身份验证时,您可能会继续显示一些"进度条",当用户进行身份验证时(>3秒),您现在可以预加载应用程序数据(授权/安全数据等)并继续。
我不熟悉MS技术,所以不能进入具体细节,但考虑到您面临的问题的性质,这应该很容易完成。祝你好运。