Utilizzo l'API di servizio Web ExchangeService (Microsoft.Exchange.WebServices.Data
) ma non riesco a trovare alcun metodo Close
o Dispose
.Dispose/Close ExchangeService in C#?
Non è necessario chiudere la connessione in qualche modo?
Il mio metodo è simile al seguente:
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();
// ...
}
È ancora necessario chiudere i servizi WCF e c'è un brutto bug con il loro avvolgimento in un "uso", ecco perché lo chiedo. Grazie per la spiegazione! –
@SimonWoker: Mi sono chiesto come funziona la classe ExchangeService rispetto a Close/Dispose ed è per questo che ci sto approfondendo. Si noti che EWS non è un servizio WCF in quanto è stato implementato il modo "vecchio stile" ASMX. –
@JakobChristensen: Quando proviamo a connetterci a EWS (utilizzando le stesse credenziali) più volte, dopo 5 volte riceviamo un errore di autorizzazione negato. Ciò significa che EWS mantiene la connessione per un periodo di tempo definito e non consente ulteriori connessioni? – Naresh