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 :

Impossible d'accéder à un Stream [Débutant]


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Impossible d'accéder à un Stream
    Bonjour,

    Alors voilà je dois envoyer un mail avec un pdf en piece joint, pdf qui est générer avec memory stream. Or quand j'envoie ce mail il me met ceci comme message d'erreur "Impossible d'accéder à un Stream fermé. ". Et j'avoue je ne vois pas trop ou est l'erreur et ce que ça peut être. donc si quelqu'un à un idée, il est le bienvenue ^^.



    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    string centre_secour = ListCS.SelectedItem.Text;
                    string course = ListCourse.SelectedItem.Text;
                    string trasnport = ListTransport.SelectedItem.Text;
                    string motif = ListMotif.SelectedItem.Text;
                    string lieu = Listintervention.SelectedItem.Text;
                    string date = TextDate.Text;
                    string appel = TextAppel.Text;
                    string depart = TextDepart.Text;
                    string place = TextSurPlace.Text;
                    string charge = TextEnCharge.Text;
                    string hospital = TextAdresseHopital.Text;
                    string localHosp = ListLocaliteHopitale.SelectedItem.Text;
                    string destination = TextDestination.Text;
                    string chauffeur = ListChauffeur.SelectedItem.Text;
                    string Conv1 = ListConv.SelectedItem.Text;
                    string Conv2 = ListConv2.SelectedItem.Text;
                    string KM = TextKM.Text;
                    string nom = TextNomPatient.Text;
                    string prenom = TextPrenom.Text;
                    string anniversaire = TextAnniversaire.Text;
                    string sexe = ListSexe.SelectedItem.Text;
                    string domicile = TextDomicile.Text;
                    string localpatient = ListLocalePatient.SelectedItem.Text;
                    string libelle = TextLibelle.Text;
                    string adressefactu = TextFacturation.Text;
                    string localfactu = ListFacturation.SelectedItem.Text;
     
                    MemoryStream pdfStream = new  PDFForm().ExportPDF(centre_secour, date, course, trasnport, motif, appel, depart, lieu, place, charge, hospital, localHosp,
                    destination, chauffeur, Conv1, Conv2, KM, nom, prenom, anniversaire, sexe, domicile, localpatient, libelle, adressefactu, localfactu);
     
                    pdfStream.Position = 0;
     
     
     
                    MailMessage mailMessage = new MailMessage();
                    SmtpClient smtpClient = new SmtpClient("localhost");
                    mailMessage.To.Add("rob@rnwood.co.uk");
                    mailMessage.From = new MailAddress("noreaply@croix-rouge.be");
                    mailMessage.Subject = "ASP.NET e-mail test";
                    mailMessage.Body = "Hello world,\n\nThis is an ASP.NET test e-mail!";
     
     
                    System.Net.Mime.ContentType ct = new System.Net.Mime.ContentType("application/pdf");
                    System.Net.Mail.Attachment attachment;
     
     
                    attachment = new System.Net.Mail.Attachment(pdfStream, ct);
     
                    mailMessage.Attachments.Add(attachment);
     
     
                    smtpClient.Send(mailMessage);
                    pdfStream.Close();
                    Response.Write("E-mail sent!");
     
     
     
                }
                catch (Exception ex)
                {
                    Response.Write("Could not send the e-mail - error: " + ex.Message);
                }
    Merci à vous pour toutes vos réponse

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 501
    Points
    1 501
    Par défaut
    Salut,

    Les stream comme les emails sont des classes qui implementent idisposable , dons lorsque tu les utilises, il faut mettre un bloc using.

    Je dis pas que ce va marcher, mais cela evitera les fuite memoire dans un premier temps.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Sur quelle ligne se produit l'erreur exactement ?

    Citation Envoyé par mermich Voir le message
    Les stream comme les emails sont des classes qui implementent idisposable , dons lorsque tu les utilises, il faut mettre un bloc using.

    Je dis pas que ce va marcher, mais cela evitera les fuite memoire dans un premier temps.
    Bah ça changera pas grand chose au problème, vu que le problème est justement que le stream est fermé trop tôt...
    Et en l'occurrence, ne pas utiliser using ne causera pas de fuite mémoire ; c'est une variable locale, et a priori il n'existe pas d'autres références vers l'objet, donc à la fin de la méthode l'objet ne sera plus référencé, et le GC pourra le collecter lors de sa prochaine exécution.

  4. #4
    Candidat au Club
    Femme Profil pro
    Développeur .NET
    Inscrit en
    Août 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    voilà j'ai trouver la solition. Dans la construction de mon pdf j'ai mis un CloseStream à False et cela fonctionne. L'email s'envoie bien avec le pdf attacher, avec toute les infos

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 501
    Points
    1 501
    Par défaut
    Si le probleme est resolu marques-le en tant que tel,


    merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible d'accéder a ma base depuis un pc distant
    Par transistor49 dans le forum MS SQL Server
    Réponses: 18
    Dernier message: 08/09/2009, 11h25
  2. Impossible d'accéder à l'aide de VBA
    Par bestall666 dans le forum VBA Access
    Réponses: 9
    Dernier message: 03/08/2006, 13h21
  3. Impossible d'accéder au module Stat
    Par JMLD dans le forum XMLRAD
    Réponses: 12
    Dernier message: 09/05/2006, 15h28
  4. Impossible d'accéder aux tables non créées par dbo
    Par Pete dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 07/10/2005, 14h01
  5. Réponses: 4
    Dernier message: 11/03/2005, 20h31

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