登录和启动画面

时间:2013-10-20 10:45:10

标签: c# login splash-screen entity-framework-6 localdb

我有LoginFormSplashscreenMainFormAuthentification

目前的设计是在任何其他操作LoginForm之前显示MainForm

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

问题:当EF检查uid / pwd时,LoginForm会冻结6秒。结果显示了启动屏幕< 1秒。

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

Q2:什么是最好的启动序列设计?你的想法:

  1. LoginForm,使用上下文加载虚拟数据(所有用户)调用Spashscreen
  2. 然后显示LoginForm并检查凭据。
  3. 模态LoginForm关闭Run(MainForm)。
  4. 注意: EF600rc还没有UNIQUE注释。

3 个答案:

答案 0 :(得分:0)

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

您可以阅读here。源代码也可用。

答案 1 :(得分:0)

到目前为止,我可以找到答案:

A1:升级EF,并使用Ngen和VS2013为link (performance issue)生成EntityFramework程序集的原生图像。但VS2013不适合我。其他选择可能是降级到EF5。?!?

A2: LogIn表单的建议启动顺序,Splash Screen暴露在良好状态。

答案 2 :(得分:0)

关于序列

启动屏幕有助于提供一个" face"到您的申请。它们通常是吸引人的,但是等等等等,但对于开发人员而言,它们是让应用程序的某些部分在幕后初始化的一个很好的工具。因此,有时这个批量最初在认证之前或之后取决于应用程序。很多时候它会出现,因为必须加载用户相关的数据。

现在从用户点看,如果查看Login-> Splash->应用程序过多转换IMO,特别是考虑到将两者结合的可能性。

另类想法

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

我不熟悉MS技术,所以可以进入具体的,但考虑到您遇到的问题的性质,这应该很容易实现。祝你好运。

相关问题