IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

process outlook tourne en permanence..!


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 12
    Points
    12
    Par défaut process outlook tourne en permanence..!
    Bonjour
    J'essaie d'envoyer un mail en utilisant la librairie de office avec c#
    mais cela ne marche pas.
    Après la création de l'objet outlook, le process se bloque, et il ne se passe rien.
    Voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    // Create an Outlook application.
                oOutlook = new Microsoft.Office.Interop.Outlook.Application();
     
                // Get the namespace and the logon.
                oNS = oOutlook.GetNamespace("MAPI");
                oNS.Logon(missing, missing, true, true);
     
                oMail = (Microsoft.Office.Interop.Outlook.MailItem)oOutlook.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
     
                // Set the properties of the email.
                oMail.Subject = "Feedback of All-In-One Code Framework";
                oMail.To = "mon@mail.com";
                oMail.HTMLBody = "<b>Feedback:</b><br />";
                oMail.Importance = Microsoft.Office.Interop.Outlook.OlImportance.olImportanceHigh;
     
     
                oMail.Display(false); // Modal=true makes the Inspector window modal
     
                // Automatically send the mail without a new Inspector window.
                ((Microsoft.Office.Interop.Outlook._MailItem)oMail).Send();
     
                oNS.Logoff();
                ((Microsoft.Office.Interop.Outlook._Application)oOutlook).Quit();
     
                // Clean up the unmanaged COM resources.
                releaseObject(oMail);
                releaseObject(oNS);
                releaseObject(oOutlook);
     
                GC.Collect();
                GC.WaitForPendingFinalizers();
     
                GC.Collect();
                GC.WaitForPendingFinalizers();
    Merci de m'aider à résoudre ce problème.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Pas de Pas de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GC.WaitForPendingFinalizers();
    Utilisez plutôt using{} et Dispose().
    Sur quelle ligne de code ça Freeze ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Pas de Pas de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GC.WaitForPendingFinalizers();
    Utilisez plutôt using{} et Dispose().
    Sur quelle ligne de code ça Freeze ?
    sur la première ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     oOutlook = new Microsoft.Office.Interop.Outlook.Application();

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Le thread qui crée l'objet est-il dans un appartment STA ou MTA ?
    Cela devrait être indiqué dans les propriétés du thread.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Le thread qui crée l'objet est-il dans un appartment STA ou MTA ?
    Cela devrait être indiqué dans les propriétés du thread.
    Aucune idée, je l'exécute dans un service windows. normalement c'est dû simple threading.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    "service windows" --> IIS --> pooling de thread.
    A vérifier, mais je suis plus sur du MTA par défaut.
    Loguez ces informations avant l'appel pour le savoir précisément.
    Vérifiez dans la documentation quel est le type d'apartment supporté par le composant COM "Outlook.Application" que vous essayez d'instancier.

    P.S.: Outlook en WebService

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par bacelar Voir le message
    "service windows" --> IIS --> pooling de thread.
    A vérifier, mais je suis plus sur du MTA par défaut.
    Loguez ces informations avant l'appel pour le savoir précisément.
    Vérifiez dans la documentation quel est le type d'apartment supporté par le composant COM "Outlook.Application" que vous essayez d'instancier.

    P.S.: Outlook en WebService
    je n'ai jamais dis que c'était un web service, mais que c'est utilisé dans une application de type service Windows...!
    je pense pas que ce soit un problème de thread.
    Merci

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 073
    Points : 12 119
    Points
    12 119
    Par défaut
    Excusez-moi, la fatigue.

    Outlook dans une WorkStation (contexte de Sécurité) d'un Service Windows

    Vérifiez au moins que votre service à le droit d'interagir avec le bureau.

Discussions similaires

  1. Disque Dur qui tourne en permanence
    Par flamme34 dans le forum Composants
    Réponses: 1
    Dernier message: 11/06/2012, 10h55
  2. [Lecteur (CD,DVD)] Graveur DVD qui tourne en permanence
    Par apt dans le forum Périphériques
    Réponses: 1
    Dernier message: 17/04/2012, 08h27
  3. script Shell qui tourne en permanence
    Par Invité dans le forum Shell et commandes POSIX
    Réponses: 4
    Dernier message: 21/03/2012, 18h15
  4. Process qui tourne dans le JRE?
    Par leMarseillais dans le forum C#
    Réponses: 3
    Dernier message: 05/07/2010, 11h29
  5. Réponses: 2
    Dernier message: 11/04/2007, 18h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo