登录和初始屏幕

本文关键字:屏幕 登录 | 更新日期: 2023-09-27 18:36:10

我有LoginFormSplashscreenMainFormAuthentification

当前的设计是在任何其他动作和MainForm之前显示LoginForm

Main()

调用检查凭据的模式 LoginForm,如果确定 Application.Run(MainForm) 与 Splashcreen。

问题: EF 检查 uid/pwd 时,登录窗体冻结 6 秒。因此,初始屏幕显示<1 秒。

Q1:有没有办法加快冷启动的速度,因为在MainForm启动之前只检查用户/密码组合?

Q2:什么是最好的开始序列设计?你怎么想:

  1. LoginForm 调用Spashscreen上下文加载虚拟数据(所有用户),
  2. 然后显示LoginForm并检查凭据。
  3. 模式登录窗体关闭运行(主窗体)后。

注意:EF600rc 尚无唯一注释。

登录和初始屏幕

更好的解决方案是使用显示登录屏幕的框架窗口。登录屏幕检查凭据,并让框架窗口切换到主屏幕。

你可以在这里阅读。源代码也可用。

据我所知:

A1:升级 EF,并使用 Ngen 和 VS2013 为实体框架程序集生成本机映像,如链接中所示(性能问题)。但是VS2013对我来说不是选择。其他选择可能是降级到 EF5.?!?

A2:建议的登录表单的开始顺序,初始屏幕显示良好。

关于序列

初始屏幕有助于为您的应用程序提供"面孔"。它们通常很吸引眼球,等等等等,但它们是开发人员让应用程序的某些部分在幕后初始化的绝佳工具。因此,有时此批量最初是在身份验证之前或稍后出现的,具体取决于应用程序。很多时候,它来得更晚,因为必须加载与用户相关的数据。

现在从用户的角度来看,如果查看登录>Splash->应用程序是太多的过渡IMO,特别是考虑到将两者结合起来的可能性。

另类想法

这是满足要求并使其更容易编程的另一个想法。您可以将 2 与启动画面 UID 的一些精心设计相结合,密码字段可以在初始屏幕上。然后,当单击用户ID/密码并且服务器正在进行身份验证时,您可能会继续显示一些"进度条",当用户进行身份验证时(>3秒),您现在可以预加载应用程序数据(授权/安全数据等)并继续。

我不熟悉MS技术,所以不能进入具体细节,但考虑到您面临的问题的性质,这应该很容易完成。祝你好运。