我正在使用 VSS 互操作 DLL 和 .NET 创建一个新的子项目并在每个项目中保存许多 xml 文件。
基本上,该进程连接到同一域上的 VSS。它必须在主要定义的项目下创建超过 1000 个子项目,并且对于每个子项目,它都会从数据库中检索 xml 文件并将其写入临时位置的文件流并将其添加到 VSS 中。
- 子项目可能已经存在,因此它还会检查 VSSItem 是否已经存在,然后检查所有 VSSItem 以查看它是否具有我要保存的文件名。
- 如果是,则将文件签出到临时位置,签入新文件,然后从签出临时位置删除文件
- 否则,添加一个新文件
- 最后删除保存文件流的临时位置。
它必须对 1000 多个项目执行上述过程。整个过程大约需要 20 分钟。该进程是异步的,因此它在自己的线程中运行。
我在这里使用 WPF 和 WCF,所以有时我会收到一个 SendTimeout,我们可以通过增加 WPF 配置文件中的超时来阻止它。
我的问题是:VSS 处理总是这么慢,我们怎样才能加快速度?
我试图查看代码,但找不到改进它的方法。任何帮助,将不胜感激。