我正在使用ExchangeService WebService API(Microsoft.Exchange.WebServices.Data
),但我找不到任何Close
或Dispose
方法。
以某种方式关闭连接是否不是必要的?
我的方法如下:
public void CheckMails()
{
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
IMAPCredentials creds = new IMAPCredentials();
service.Credentials = new NetworkCredential(creds.User, creds.Pass, creds.Domain);
service.AutodiscoverUrl(creds.User + "@example.com");
// not the real code from here on but you'll get the idea...
// var emails = service.FindItems();
// emails[0].Load();
// emails[0].Attachments[0].Load();
// ...
}
答案 0 :(得分:20)
ExchangeService
类上没有Close / Dispose方法,因为该类没有维护与Web服务的连接。而是根据需要创建并关闭新的HTTP连接。
例如,当您致电ExchangeService.FindItems
时,会创建一个与Exchange服务器的新HTTP连接,并在对FindItems
的方法调用中关闭。
答案 1 :(得分:0)
我意识到这已经很老了,但最近我遇到了同样的问题,因为我们在连接到邮箱后遇到了问题,并且很快再次尝试相同的方法,我们得到了一个HTTP异常。然后,在等待一分钟左右后,我们可以连接...但是就像对接受的答案的评论一样,这可能是Exchange服务器上的一个设置。
要回答这个问题,从技术上讲,由于ExchangeService没有实现IDisposable
,因此不需要Dispose连接,也不能在using
语句中包装实例。
答案 2 :(得分:0)
int r0, r1,sup2;
cout << "input number one : ";
cin >> r0;
cout << "input number two: ";
cin >> r1;
if (r1 > r0) {
r1 = r1 + r0;
r0 = r1 - r0;
r1 = r1 - r0;
}
while (r1 != 0)
{
sup2 = r0 % r1;
r0 = r1;
r1 = sup2;
}
cout << "\n\nGCD = " << r0 <<endl ;