2011-03-25 77 views
1

我已经继承了一些使用Exchange Web服务来同步Exchange和外部系统之间的某些数据的代码。Exchange Web服务:更喜欢PathToExtendedFieldType或PathToUnindexedFieldType限制的FindItem?

为了解决一些性能问题(包括生成大量荒谬的事务日志文件),我正在重写它的大块,我可以看到在扫描Exchange服务器上的项目时与FindItem),我可以选择在扩展属性中搜索具有特定值的项目(使用PathToExtendedFieldType创建搜索表达式,或者对于具有某个项目类别的项目(这似乎是未编制索引的字段,因此搜索表达式将不得不使用PathToUnindexedFieldType

是否存在性能差异,或者两者偏好哪一个的一般指导原则?

回答

1

你调用FindItem多少次?如果您经常以不同的标准调用它,那么服务器将创建很多限制(搜索文件夹),这会导致您看到的日志记录。

+0

嗯,这可以解释它。我们确实很多(经常)调用FindItem。当我阅读[FindItemType](http://msdn.microsoft.com/en-us/library/exchangewebservices.finditemtype%28v=EXCHG.80%29.aspx)上的文档时,它不会创建搜索文件夹,因为他们说:“如果定期执行特定搜索,则可能更适合为搜索创建搜索文件夹”。我是否误解了文档? – jalf 2011-07-19 20:56:23

+0

应该提到的是,我们通过消除大部分FindItem调用来解决问题。我们现在使用pull订阅来跟踪更新,这种方式效果更好。 – jalf 2011-07-19 20:57:38

+0

查找项目可能正在创建一个隐藏的搜索文件夹,以满足查询。问题是为特定条件创建搜索文件夹,因此不能使用“大小> 100KB”的搜索文件夹来满足查询“大小> 200KB”。 – 2011-07-20 20:05:40