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

ASP.NET Discussion :

Probleme de temps de traitement WindowsForm c# [Débutant]


Sujet :

ASP.NET

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut Probleme de temps de traitement WindowsForm c#
    Bonjour,
    j'ai une application en windowsform c# dans laquelle j'enregistre des données dans une bdd , ensuite je lance une fonction pour convertir une url en pdf, seulement je trouve que le traitement est long.
    Quand j'appuie sur traité, j'ai tout de suite le résultat du traitement , j'ai un message en vert qui dis " traitement ok " puis j'ai compté entre 1mn et 1mn 30 le temps de traitement pour enregistré en pdf ( pour executé ma fonction de conversion en pdf) et je me demandais s'il y avait un autre moyen efficace pour réduire ce temps de traitement, par ex avec un thread ? Mais le soucis j'en ai entendu parlé mais jamais utilisé.

    Voici une parti de 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
    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
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
     
     
                if (VerifCHamps())//je verifie les champs snt bien saisies
                {
     
                    string NumOffre = "";
     
                    switch (lstSite.SelectedItem.ToString())
                    {
                        case "Apec":
                            NumOffre = txtnumoffre.Text;
                            break;
     
                        case "Pole emploi":
                            NumOffre = txtoffrePE.Text;
                            break;
     
                        default:
                            NumOffre = txtnumoffre.Text;
                            break;
     
                    }
     
                    log.Info("Numero doffre généré : " + NumOffre);
     
     
                    if (InsertionDonnees(NumOffre)) //j'insere dans ma base 
                    {
                        lblresultat.ForeColor = Color.Green;
                        lblresultat.Text = "Insertion Reussi";
     
     
     
                        log.Info("---- creation pdf*****");
                        //création du pdf
                        try
                        {
     
                            NameValueCollection appSettings = System.Configuration.ConfigurationManager.AppSettings;
                            String chemin = ConfigurationManager.AppSettings["cheminpdf"];
     
                            string Url = txtliensiteconvert.Text;
     
                            //creation du nom de fichier
                           string nomentreprise = lstsociete.Text;
     
     
                            log.Info("nomentreprise: " + nomentreprise);
     
     
     
                            DateTime date = DateTime.Now;
                            string madate = date.ToString("ddMMyyyy_HHmmss");
     
     
                            string FileName = chemin+ nomentreprise +"_"+madate+ ".pdf";
     
     
                            log.Info("Url: " + Url);
                            log.Info("chemin: " + chemin);
                            log.Info("madate: " + madate);
                            log.Info("FileName: " + FileName);
     
     
                            converturl(FileName); //paramètre url du site
    //à partir de là quand tout s'est bien passé, le temps est long, entre 1 et 1mn30,
    //donc 2 solution : je le laisse ici ou je commence ma conversation des le debut, maisle nom de fichier sera différents,
     
                            lblresultatConversion.ForeColor = Color.Green;
                            lblresultatConversion.Text ="Conversion ok" ;
     
                            EffacerChpTexte();
                        }
                        catch (Exception erreur)
                        {
                            lblresultatConversion.ForeColor = Color.Red;
                            lblresultatConversion.Text = "Erreur dans la conversion" + erreur.ToString();
     
                            log.Info("erreur: " + erreur.ToString());
                        }
                        txtliensiteconvert.Text = "";
     
     
                    }
     
     
     
                }
    Donc voila, je vous remercie pour vos conseils afin de savoir comment je peux diminuer le temps de traitement .

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    C'est après la méthode converturl que tu perd 1m30 ou bien c'est la methode qui prend 1m30...peux tu donner le code aussi de la méthode...

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    voici la methode converturl

    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
     
      private void converturl(string outpath)
            {
                PdfConverter pdfConverter = new PdfConverter();
     
                // inform the converter about the HTML elements for which we want the location in PDF
                // in this sample we want the location of IMG, H1 and H2 elements
                pdfConverter.HtmlElementsMappingOptions.HtmlTagNames = new string[] { "IMG", "H1", "H2" };
                // add an addtional list of the HTML IDs of the HTML elements for which to retrieve position in PDF
                pdfConverter.HtmlElementsMappingOptions.HtmlElementIds = new string[] { "id1", "id2" };
     
                // call the converter and get a Document object from URL
                ExpertPdf.HtmlToPdf.PdfDocument.Document pdfDocument = pdfConverter.GetPdfDocumentObjectFromUrl(txtliensiteconvert.Text.Trim());
     
                // iterate over the HTML elements locations and hightlight each element with a green rectangle
                foreach (HtmlElementMapping elementMapping in pdfConverter.HtmlElementsMappingOptions.HtmlElementsMappingResult)
                {
                    // because a HTML element can span over many PDF pages the mapping 
                    // of the HTML element in PDF document consists in a list of rectangles,
                    // one rectangle for each PDF page where this element was rendered
                    foreach (HtmlElementPdfRectangle elementLocationInPdf in elementMapping.PdfRectangles)
                    {
                        // get the PDF page
                        ExpertPdf.HtmlToPdf.PdfDocument.PdfPage pdfPage = pdfDocument.Pages[elementLocationInPdf.PageIndex];
                        RectangleF pdfRectangleInPage = elementLocationInPdf.Rectangle;
     
                        // create a RectangleElement to highlight the HTML element
                        RectangleElement highlightRectangle = new RectangleElement(pdfRectangleInPage.X, pdfRectangleInPage.Y,
                            pdfRectangleInPage.Width, pdfRectangleInPage.Height);
                        highlightRectangle.ForeColor = Color.Green;
     
                        pdfPage.AddElement(highlightRectangle);
                    }
                }
    donc c'est pendant l'execution de la méthode convertUrl, j'ai test en mode debug, et quand il rentre dans la méthode je fais f5 et j'ai mis un point d'arret juste apres et c'est bien durant cette méthode que ça met autant de temps .
    Merci

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Tu ne peux pas faire grand chose, que tu sois synchrone ou asynchrone tu devras toujours attendre 1m30. Si tu veux éviter que ton ecran freeze, effectivement tu peux utiliser un thread. (ou bien le contrôle backgroundworker)

    A+

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    933
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2013
    Messages : 933
    Points : 348
    Points
    348
    Par défaut
    ah oki oki, merci je regarderais cela !

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

Discussions similaires

  1. [MySql] temps de traitement interminable
    Par LE NEINDRE dans le forum Requêtes
    Réponses: 8
    Dernier message: 08/07/2005, 15h14
  2. [Perf]Utilisation des Logger et temps de traitement ?
    Par elitost dans le forum Logging
    Réponses: 6
    Dernier message: 12/04/2005, 23h13
  3. [debutant] problemes de temps
    Par dervish dans le forum Débuter
    Réponses: 11
    Dernier message: 04/08/2004, 10h28
  4. optimisation de temps de traitement xml/xslt
    Par Erwy dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 06/05/2004, 16h08
  5. [langage]Problème de temps de lecture, optimisation
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 08h47

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