2012-03-19 159 views
1

我在C#.NET 3.5 Web应用程序中使用EWS托管API 1.2。
我有一个交换用户,可以模拟登录到我的应用程序的用户在交换时创建/更新他们的日历项目。在Web应用程序中存储ExchangeService实例的位置

问题是,在初始创建此ExchangeService对象时,我必须等待24秒。如果每次动作都发生这种等待,那么我的解决方案就是将ExchangeService对象存储在会话中,这种等待时间是无法接受的。这对每个用户来说仍然有24秒的初始开销,但我觉得我正在试图解决这个问题。有没有一个标准的方法来实例化?例如,在应用程序启动时,然后一个对象被多个人使用?还是放置ExchangeService对象实例的标准位置?我似乎无法在应用程序中找到这种用法的示例 - 我看到的所有示例都显示实例化发生在每个请求中,这会对很多非常冗长的请求产生影响!

我也认为有可能在另一个线程中创建它,但线程无法访问创建它的会话。

编辑#2
请参阅下面的答案。

+0

祝贺你回复你自己的帖子:-) – 2012-03-19 15:51:37

+0

你现在有足够的代表,顺便说一句。 – 2012-03-19 15:57:45

+0

谢谢。我已经将问题的编辑移出了答案。 – bean 2012-03-19 16:16:46

回答

2

我解决了我的问题。

柜面其他人是愚蠢的我,我的问题是,对于每个创作我是用这样的:service.AutodiscoverUrl("[email protected]");
一旦你已经完成了初始自动发现,你应该使用在通话中发现的交换服务的地址。然后,您可以将URL设置为该自动发现调用的前面。

+0

你最终在哪里存储ExchangeService的实例?在会话或应用程序数据? – Esen 2016-11-09 23:01:56

相关问题