【问题标题】:Why is calling StringCollection from Settings slow?为什么从设置调用 StringCollection 很慢?
【发布时间】:2009-07-15 20:49:12
【问题描述】:

我正在编写一个小型 .NET Windows 窗体应用程序,并使用内置的 Visual Studio 设置来管理我的程序配置。然而,我注意到一个问题,在我添加了 StringCollection 设置(以存储最近访问的文档列表)之后,我的程序启动的时间比以往任何时候都长。

我在程序初始化过程中运行了 StopWatch,发现即使调用 StringCollection 也将启动时间从 100 毫秒缩短到 300 毫秒。我可能知道你会说什么,朋友之间的 200 毫秒是多少?但我觉得很奇怪,这么简单的事情会导致这样的延迟。

所以我的问题是,为什么从设置中调用 StringCollection 这么慢,有什么办法可以避免这种延迟?

【问题讨论】:

    标签: c# .net settings stringcollection


    【解决方案1】:

    它很可能正在加载额外的程序集,否则直到以后才需要这些程序集。

    您可以在加载设置之前使用Console.ReadLine() 调用,然后在 Visual Studio 中运行它来测试该理论时查看之后加载了哪些程序集。

    【讨论】:

    • 一个好主意。据我所见,它加载了一个额外的程序集,每次似乎都是一个随机名称,例如“ks2c2gnr”。我对 .NET 不够了解,无法弄清楚这是否重要。
    【解决方案2】:

    这是否仅在您第一次运行程序时发生,或者在随后的执行中发生(之间没有重建)。另外,这是一个发布版本吗?

    【讨论】:

    • 是的,它发生在所有后续执行中,并且在发布和调试版本中都相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2022-08-04
    • 2017-06-07
    • 2019-10-02
    • 2010-10-30
    • 2023-04-03
    • 1970-01-01
    相关资源
    最近更新 更多