我有一个相对较小的VB winforms项目。 它目前用于在服务器上启动数字超链接和一些应用程序。 有几个功能可以完成所有工作,但它真的归结为:
System.Diagnostics.Process.Start("iexplore.exe", urlVar)
或者如果它是位于服务器上的应用程序,则传递给函数appLinkVar
的变量将包含启动应用程序的需要文件路径。
System.Diagnostics.Process.Start(appLinkVar)
“items”存储在SQL本地数据库(.mdf)
中 Id, appName, appLink, appClickCount, appFavList,
和decision
,它告诉函数它是在调用网站还是打开可执行文件。
目前,数据库中有四十行,最后我预计150多个行需要集中更新(通常是每周一次)。但这是一个不同的问题。我在这个问题中添加的原因是为了深入了解为什么我使用数据库而不是某些链接的设置或XML文件。 (欢迎提出更好的建议)
我的管理主窗体加载Visible = False并在系统try中加载图标。所以你实际上看不到第一个打开的表格。它是一个隐藏的管理窗口,其主要目的是将图标放入系统托盘中。绿色RJ图标 - http://snag.gy/VBa6c.jpg 然后,所有应用程序交互都围绕通知图标。示例:应用程序在悬停时加载。右键单击设置和选项等。
加载主表单后,例如鼠标悬停在“主标签”上,左侧出现白色表单,依此类推。不是很多。 http://snag.gy/excKr.jpg
Frequently Accessed项目当前存储在名为appClickCount的数据库中,这将来自数据库以及另一种推荐的存储数据的方式。但是当我最初添加数据库时,我注意到主表单加载有些滞后。填充频繁访问项目列表需要5-7秒,依此类推。所以我将代码从mainWindow.show()更改为mainWindow.visible()。对我来说很棒。很快打开和关闭。但是在测试人员今天使用了一些之后,应用程序变得几乎没有响应。他多次点击通知图标,无法加载应用程序。然后抛出SQL超时错误。这是一天的结束,我无法抓住截图。
我需要让它更可靠。
前几天在SO上进行了一些讨论之后,我正在和那些建议我在C#WPF中重新编写应用程序的人交谈,这绝对是计划。但我需要这个东西来过去测试,就像本周在VB中一样。 我在哪里可以开始排除开放时间的延迟?您还有哪些其他建议可以改进应用程序?我是否需要首先加载不可见的表单,以便我可以访问系统托盘图标或者有更好的方法吗?
我最近在这里与很多人交谈并得到了一些非常好的建议,我想我会把它全部放在这里,看看你们有什么投入可以给一个新人......我也会去如果您有任何其他问题,可以在C#房间稍微停留一下。