Come recuperare i messaggi utilizzando CDOEX e ADO in Visual C#

Identificativo articolo: 310206 - Visualizza i prodotti a cui si riferisce l?articolo.
attenzione ADO e ADO MD non sono state completamente testate in un ambiente Microsoft .NET Framework. Potrebbe causare problemi intermittenti, soprattutto nelle applicazioni basate su servizio o nelle applicazioni multithreading. Le tecniche descritti in questo articolo devono essere utilizzate solo come misura temporanea durante la migrazione di ADO.NET. È consigliabile utilizzare queste tecniche solo dopo che si sono eseguite test completo per assicurarsi che non vi siano meno problemi di compatibilità. Eventuali problemi che sono causati dall'utilizzo di ADO o ADO MD in questo modo non sono supportati. Per ulteriori informazioni, vedere il seguente articolo della Microsoft Knowledge Base riportato di seguito:
840667 Vengono visualizzati errori imprevisti quando si utilizza ADO e ADO MD in un'applicazione .NET Framework
Espandi tutto | Chiudi tutto

In questa pagina

Sommario

In questo articolo descrive come utilizzare Microsoft Collaboration Data Objects (CDO) per la raccolta di Exchange 2000 (CdoEx) in Microsoft Visual C# per recuperare i messaggi in arrivo di un utente.

Creare l'esempio per recuperare i messaggi

  1. Avviare Microsoft Visual Studio .NET o Microsoft Visual Studio 2005.
  2. Scegliere Nuovo dal menu file , quindi progetto .
  3. Fare clic su Progetti di Visual C# in Tipi progetto e quindi fare clic su Applicazione Console in modelli . Per impostazione predefinita, viene creato Class1.cs.

    Nota Fare clic in Visual Studio 2005 su Visual C# in Tipi progetto. In Visual Studio. NET, Class1.cs viene creato per impostazione predefinita. In Visual Studio 2005, Program.cs viene creato per impostazione predefinita.
  4. Aggiungere un riferimento per il Microsoft CDO per la raccolta di Exchange 2000 e Microsoft ActiveX Data Objects 2.5 Library. Per effettuare questa operazione, attenersi alla seguente procedura:
    1. Scegliere Aggiungi riferimento dal menu progetto .
    2. Fare clic sulla scheda COM .
    3. Fare clic su Microsoft CDO per la raccolta di Exchange 2000 e quindi fare clic su Seleziona .

      Nota In Visual Studio 2005, è necessario fare clic su Seleziona .
    4. Fare clic su Microsoft ActiveX Data Objects 2.5 Library , quindi fare clic su Seleziona .

      Nota In Visual Studio 2005, è necessario fare clic su Seleziona .
    5. Fare clic su OK . Se chiesto di generare wrapper per le librerie selezionate, fare clic su .
  5. Nella finestra del codice sostituire il codice predefinito con il codice riportato di seguito:
    using System;
    
    namespace Samples
    {
        class Class1
        {
            static void Main(string[] args)
            {
                try 
                {
                ADODB.Connection oCn = new ADODB.Connection();
                ADODB.Recordset oRs = new ADODB.Recordset();
    
                ADODB.Fields oFields;
                ADODB.Field oField;
    
                // TODO:
                string sFdUrl = "http://ExchServer/Exchange/UserAlias/Inbox";
    			
                oCn.Provider = "exoledb.datasource";
                oCn.Open(sFdUrl, "", "", -1);  
    
                if(oCn.State == 1)
                {
                    Console.WriteLine("Good Connection");
                }
                else
                {
                    Console.WriteLine("Bad Connection");
                }
    
    
                string strSql;
                strSql = "";
                strSql = "select ";
                strSql = strSql + " \"urn:schemas:mailheader:content-class\"";
                strSql = strSql + ", \"DAV:href\" ";
                strSql = strSql + ", \"urn:schemas:mailheader:content-class\" ";
                strSql = strSql + ", \"DAV:displayname\"";
                strSql = strSql + " from scope ('shallow traversal of " + "\"";
                strSql = strSql + sFdUrl + "\"') ";
                strSql = strSql + " WHERE \"DAV:ishidden\" = false";
                strSql = strSql + " AND \"DAV:isfolder\" = false";
    
    
                oRs.Open(strSql, oCn, 
                    ADODB.CursorTypeEnum.adOpenUnspecified, 
                    ADODB.LockTypeEnum.adLockOptimistic, 1);
    
                // As an example, you only retrieve the first message.
                // You can use a while loop through each message.
    
                // Get the first message.
                oRs.MoveFirst();
    
                // Get Recordset fields.
                oFields = oRs.Fields;
    			
                string sUrl;
                oField = oFields["DAV:href"];
                sUrl = oField.Value.ToString();
    
                CDO.Message iMsg = new CDO.Message();
                iMsg.DataSource.Open(sUrl, oRs.ActiveConnection, 
                    ADODB.ConnectModeEnum.adModeReadWrite,
                    ADODB.RecordCreateOptionsEnum.adFailIfNotExists,
                    ADODB.RecordOpenOptionsEnum.adOpenSource,
                    "", "");
    
                Console.WriteLine("{0}", iMsg.Sender);
                Console.WriteLine("{0}", iMsg.Subject);
                Console.WriteLine("{0}", iMsg.TextBody);
    
                // Get message fields.
                oFields = iMsg.Fields;
    
    			
                for(int i = 0; i < oFields.Count; i++)
                {
                    oField = oFields[i];
                    Console.WriteLine("{0} : {1}", oField.Name, oField.Value);
                }
    
    
                oRs.Close();
                oCn.Close();
    			 
                oCn = null;
                oRs = null;
                oFields = null;
                oField = null;
                }
                catch (Exception e)
                {
                    Console.WriteLine("{0} Exception caught.", e);
                }			
            }
        }
    }
  6. Modificare il codice per i commenti TODO.
  7. Premere F5 per compilare ed eseguire l'applicazione.

Riferimenti

Per ulteriori informazioni, visitare il seguente sito Web Microsoft Developer Network (MSDN):
Sviluppo di Microsoft Office con Visual Studio
http://msdn2.microsoft.com/en-us/library/aa188489(office.10).aspx

Proprietà

Identificativo articolo: 310206 - Ultima modifica: giovedì 29 novembre 2007 - Revisione: 5.2
Le informazioni in questo articolo si applicano a:
  • Collaboration Data Objects for Exchange 2000
  • Microsoft Visual C# .NET 2002 Standard Edition
  • Microsoft Exchange Server 2000 Service Pack 1
  • Microsoft ActiveX Data Objects 2.5
  • Microsoft Visual C# 2005
Chiavi: 
kbmt kbhowtomaster KB310206 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 310206
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti