0

我正在使用 VSS 互操作 DLL 和 .NET 创建一个新的子项目并在每个项目中保存许多 xml 文件。

基本上,该进程连接到同一域上的 VSS。它必须在主要定义的项目下创建超过 1000 个子项目,并且对于每个子项目,它都会从数据库中检索 xml 文件并将其写入临时位置的文件流并将其添加到 VSS 中。

  • 子项目可能已经存在,因此它还会检查 VSSItem 是否已经存在,然后检查所有 VSSItem 以查看它是否具有我要保存的文件名。
    • 如果是,则将文件签出到临时位置,签入新文件,然后从签出临时位置删除文件
    • 否则,添加一个新文件
  • 最后删除保存文件流的临时位置。

它必须对 1000 多个项目执行上述过程。整个过程大约需要 20 分钟。该进程是异步的,因此它在自己的线程中运行。

我在这里使用 WPF 和 WCF,所以有时我会收到一个 SendTimeout,我们可以通过增加 WPF 配置文件中的超时来阻止它。

我的问题是:VSS 处理总是这么慢,我们怎样才能加快速度?

我试图查看代码,但找不到改进它的方法。任何帮助,将不胜感激。

4

1 回答 1

0

老实说,我在工作中使用 VSS,并用 c# 编写了一个应用程序来执行类似的过程,我得出的结论是它只是 VSS。我对您的问题的回答:VSS 很慢,因为它的主要目的是通过签入/签出功能来控制源代码,而且您的代码(据我所知)很可能没​​有什么可以改变的,以显着加快时间。Blam 提到的内容可能会为您争取一些时间,但不会将其减半。

于 2012-09-24T15:55:19.317 回答