2014-09-14 1 views
-1

'명백한'질문 인 경우 사전에 사과드립니다.여러 기능에 걸쳐 MailKit 클라이언트 유지

저는 MailKit을 처음 접했고 일반적으로 C#을 처음 사용했습니다.

내가 MailKit의 소개 GitHub의 노트에서 바로 찍은 다음 코드를 사용하고, 새로운 IMAP 연결을 열려면

using (var client = new ImapClient()) 
      { 
       client.Connect("imap.gmail.com", 993, true); 

       // Note: since we don't have an OAuth2 token, disable 
       // the XOAUTH2 authentication mechanism. 
       client.AuthenticationMechanisms.Remove("XOAUTH"); 

       client.Authenticate("emailAddress", "pass"); 

       // The Inbox folder is always available on all IMAP servers... 
       var inbox = client.Inbox; 
       inbox.Open(FolderAccess.ReadOnly); 
      } 

나는 전자 메일을 관리 관련 기능을 포함하는 클래스가 있습니다.

ImapClient '클라이언트'및 ImapClient.Inbox '받은 편지함'인스턴스를 클래스 전체에서 유지하여 각 기능이 위의 연결 절차를 실행하지 않고도받은 편지함에 액세스 할 수있게하고 싶습니다. 수업 전체에 걸쳐 이러한 인스턴스를 유지하려면 어떻게해야합니까?

다른 방법으로 말하면 연결 프로 시저를 한 번 실행하고 (가급적이면 내 클래스의 인스턴스를 선언 할 때) 모든 후속 방법에서이 초기 연결 절차를 통해받은 편지함에 액세스해야합니다.

미리 감사드립니다.

답변

0

당신이해야 할 일은 using 문 내에서 클라이언트를 생성하지 않으면 클라이언트에 대한 참조를 보관할 수 있습니다 (받은 편지함을 쉽게 가져올 수 있습니다).

클라이언트 완료시 Dispose()으로 전화 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. – MX26