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 :

Freeze application c# [Débutant]


Sujet :

Windows Forms

  1. #21
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    Merci de ta correction^^
    Néanmoins ça ne m'avance pas dans le fait que ça ne s'affiche pas :-/ car même avec la méthode de Bioméga, même si je met dans le program.cs, rien ne s'affiche :-/
    je vous transmet mon code program.cs et le rendu du gros code qui ne s'affiche pas.

    program.cs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                SynchronizationContext.SetSynchronizationContext(
                 new WindowsFormsSynchronizationContext());
                Application.Run(new Form1());
    car le système "p." affiche une erreur "n'est pas disponible dans le contexte actuel".

    code Async:
    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    public partial class Form8 : Form
        {
            private const string ModoURL = "http://upchat.fr/key/modo.php";
            private const string AdminURL = "http://upchat.fr/key/admin.php";
            public Form8()
            {
                InitializeComponent();
            }
     
     
     
            public async Task CheckallAsync()
            {
                await Amis();
                await Rang();
                await Premium();
                await Bannis();
                await Connected();
            }
            public async Task Amis()
            { 
                StringBuilder Url = new StringBuilder("ftp://[ip]/public_html/Friend/");
                Url.Append(Properties.Settings.Default.search1);
                Url.Append("_amis/");
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(Url.ToString());
                request.Credentials = new NetworkCredential("user", "pass");
                request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
                using (FtpWebResponse response = (FtpWebResponse)await request.GetResponseAsync())
                using (Stream stream = response.GetResponseStream())
                using (StreamReader readuser = new StreamReader(stream))
                {
                    int nb = -2;
                    while ((readuser.Peek() > -1))
                    {
                        await readuser.ReadLineAsync();
                        nb += 1;
                    }
                    monoFlat_LinkLabel1.Text = nb.ToString();
                }
            }
            public async Task Rang()
     
            {
     
            string lol;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ModoURL);
                using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
                using (Stream se = response.GetResponseStream())
                using (StreamReader sr = new StreamReader(se))
                    lol = await sr.ReadToEndAsync();
     
                string lal;
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(AdminURL);
                using (HttpWebResponse res = (HttpWebResponse)await req.GetResponseAsync())
                using (Stream sa = res.GetResponseStream())
                using (StreamReader sy = new StreamReader(sa))
                    lal = await sy.ReadToEndAsync();
     
                if (lol.Contains(Properties.Settings.Default.search1))
                {
                    monoFlat_Label8.Text = "Modérateur";
     
                }
                else if (lal.Contains(Properties.Settings.Default.search1))
                {
                    monoFlat_Label8.Text = "Administrateur";
     
                }
                else
                {
                    monoFlat_Label8.Text = "Utilisateur";
     
                }
     
     
            }
            public async Task Premium()
            {
                string pomme;
                StringBuilder okuser = new StringBuilder("http://upchat.fr/Account/");
                okuser.Append(Properties.Settings.Default.search1);
                okuser.Append("_Account.php");
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(okuser.ToString());
                using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
                using (Stream sz = response.GetResponseStream())
                using (StreamReader sr = new StreamReader(sz))
                    pomme = await sr.ReadToEndAsync();
     
                if (pomme == "Disconnectednonorang 1" || pomme == "Connectednonorang 1")
                {
                    monoFlat_Label9.Text = "Non";
                }
                else if (pomme == "Disconnectedyesnorang 1" || pomme == "Connectedyesnorang 1")
                {
                    monoFlat_Label9.Text = "Oui";
                }
     
     
            }
            public async Task Bannis()
            {
                string okuser;
                StringBuilder Url = new StringBuilder("http://upchat.fr/Account/");
                Url.Append(Properties.Settings.Default.search1);
                Url.Append("_Account.php");
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url.ToString());
                using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
                using (Stream su = response.GetResponseStream())
                using (StreamReader sr = new StreamReader(su))
                    okuser = await sr.ReadToEndAsync();
                if (okuser == "Disconnectednonorang 1" || okuser == "Connectednonorang 1")
                {
                    monoFlat_Label10.Text = "Non";
                }
                else if (okuser == "Disconnectednoyesrang 1" || okuser == "Connectednoyesrang 1")
                {
                    monoFlat_Label10.Text = "Oui";
                }
            }
            public async Task Connected()
            {
     
                try
                {
                    StringBuilder Url = new StringBuilder("ftp://[ip]/public_html/key/");
                    Url.Append(Properties.Settings.Default.search1);
                    Url.Append("_Connected.php");
                    FtpWebRequest req = default(FtpWebRequest);
                    FtpWebResponse res = default(FtpWebResponse);
                    req = (FtpWebRequest)WebRequest.Create(Url.ToString());
                    req.Credentials = new NetworkCredential("user", "pass");
                    using (res = (FtpWebResponse)await req.GetResponseAsync())
                        monoFlat_Label11.Text = "oui";
     
     
                }
                catch (Exception ex)
                {
                    monoFlat_Label11.Text = "non";
                }
            }
     
     
     
            private async void Form8_Load(object sender, EventArgs e)
            {
                monoFlat_ThemeContainer1.Text = "Profil de " + Properties.Settings.Default.search1;
                monoFlat_Label7.Text = Properties.Settings.Default.search1;
                await CheckallAsync();
     
            }

  2. #22
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Déjà, d'où sors-tu ce
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SynchronizationContext.SetSynchronizationContext(
                 new WindowsFormsSynchronizationContext());
    ?

    Si tu ne sais pas à quoi ça sert, c'est que c'est inutile !

    Ensuite, il faut nous en dire plus sur l'erreur. Quel est le type de l'erreur ? La trace de la pile ? A priori, il y a une référence à une variable "p". Qu'est-ce que c'est ? Ton programme semble lancer Form1 et tes soucis sont sur Form8. Peux-tu nous fournir un code plus complet ?
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  3. #23
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    Alors le morceau de code je le sors d'ici :
    https://msdn.microsoft.com/en-us/magazine/mt620013.aspx
    Le type d'erreur est "'System.InvalidOperationException' dans mscorlib.dll" dans la fenêtre d’exécution se résultant sur mon appli par rien qui se passe.

    Oui car Form1 étant le formulaire d'inscription et form8 le formulaire où se trouve mon code.

  4. #24
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Supprime ce morceau de code. Il ne sert à rien dans ton cas.

    Maintenant, c'est bien ce que je pensais pour l'exception. Pour conforter mes soupçons (tu n'es pas dans le thread graphique), j'ai besoin d'un code plus complet. Notamment, le code qui ouvre la form8.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  5. #25
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    La form8 s'ouvre par le biais d'un bouton sur la form précédente qui renseigne le paramètre "properties.settings.default.search1".

    voilà ce 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
     public partial class Form7 : Form
        {
            public Form7()
            {
                InitializeComponent();
            }
     
            private void monoFlat_Button1_Click(object sender, EventArgs e)
            { 
                if(monoFlat_TextBox1.Text  == "")
                {
                    MessageBox.Show("Merci de remplir la barre de recherche.!", "Informations incorrectes", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                else
                {
                    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(new Uri("ftp://[ip]/public_html/Account/" + monoFlat_TextBox1.Text + "_Account.php"));
                    request.Credentials = new NetworkCredential("user", "pass");
                    try
                    {
                        FtpWebResponse reponse = (FtpWebResponse)request.GetResponse();
                        Properties.Settings.Default.search1 = monoFlat_TextBox1.Text;
                        Form8 f8 = new Form8();
                        f8.ShowDialog();
                        Hide();
                    }
                    catch (Exception et)
                    {
                        MessageBox.Show("L'utilisateur n'existe pas.!" + "\n" + "Veuillez vérifier vos informations de recherche.", "Erreur de recherche", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        return;
                    }
                }
     
            }
        }
    Si il faut le code complet de la form8, dites moi et je le mettrais aussi (sachant que j'ai déjà tout mis sauf 3 boutons qui n'ont rien à voir avec les infos en problème)

  6. #26
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    j'ai essayé le code ci-dessous dans le forum_load mais ça freeze en plus de ne rien afficher, help svp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Task task = CheckallAsync();
                task.Wait();

  7. #27
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par vazer7070 Voir le message
    Si il faut le code complet de la form8, dites moi et je le mettrais aussi (sachant que j'ai déjà tout mis sauf 3 boutons qui n'ont rien à voir avec les infos en problème)
    Oui, cela peut nous être utile. Car là, je ne vois rien d'anormal.

    j'ai essayé le code ci-dessous dans le forum_load mais ça freeze en plus de ne rien afficher, help svp
    Normal que cela te bloque ton application. Tu te mets en attente de la tâche en bloquant le thread graphique. Avec une exception à la clé, puisque CheckallAsync ne sera plus appelé sur le thread graphique, et donc générera une exception InvalidOperationException dès que tu accéderas à des propriétés de contrôles graphiques.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  8. #28
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    Ben alors si il n'y a rien d'anormal c'est qu'il manque quelque chose non.?:-/

    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
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    using System;
    using System.IO;
    using System.Net;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
     
    namespace WindowsFormsApp1
    {
        public partial class Form8 : Form
        {
            private const string ModoURL = "http://upchat.fr/key/modo.php";
            private const string AdminURL = "http://upchat.fr/key/admin.php";
            public Form8()
            {
                InitializeComponent();
     
            }
     
     
                public async Task CheckallAsync()
            {
                await Amis();
                await Rang();
                await Premium();
                await Bannis();
                await Connected();
            }
            public async Task Amis()
            { 
                StringBuilder Url = new StringBuilder("ftp://[ip]/public_html/Friend/");
                Url.Append(Properties.Settings.Default.search1);
                Url.Append("_amis/");
                FtpWebRequest request = (FtpWebRequest)WebRequest.Create(Url.ToString());
                request.Credentials = new NetworkCredential("user", "pass");
                request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
                using (FtpWebResponse response = (FtpWebResponse)await request.GetResponseAsync())
                using (Stream stream = response.GetResponseStream())
                using (StreamReader readuser = new StreamReader(stream))
                {
                    int nb = -2;
                    while ((readuser.Peek() > -1))
                    {
                        await readuser.ReadLineAsync();
                        nb += 1;
                    }
                    monoFlat_LinkLabel1.Text = nb.ToString();
                }
            }
            public async Task Rang()
     
            {
     
            string lol;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(ModoURL);
                using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
                using (Stream se = response.GetResponseStream())
                using (StreamReader sr = new StreamReader(se))
                    lol = await sr.ReadToEndAsync();
     
                string lal;
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(AdminURL);
                using (HttpWebResponse res = (HttpWebResponse)await req.GetResponseAsync())
                using (Stream sa = res.GetResponseStream())
                using (StreamReader sy = new StreamReader(sa))
                    lal = await sy.ReadToEndAsync();
     
                if (lol.Contains(Properties.Settings.Default.search1))
                {
                    monoFlat_Label8.Text = "Modérateur";
     
                }
                else if (lal.Contains(Properties.Settings.Default.search1))
                {
                    monoFlat_Label8.Text = "Administrateur";
     
                }
                else
                {
                    monoFlat_Label8.Text = "Utilisateur";
     
                }
     
     
            }
            public async Task Premium()
            {
                string pomme;
                StringBuilder okuser = new StringBuilder("http://upchat.fr/Account/");
                okuser.Append(Properties.Settings.Default.search1);
                okuser.Append("_Account.php");
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(okuser.ToString());
                using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
                using (Stream sz = response.GetResponseStream())
                using (StreamReader sr = new StreamReader(sz))
                    pomme = await sr.ReadToEndAsync();
     
                if (pomme == "Disconnectednonorang 1" || pomme == "Connectednonorang 1")
                {
                    monoFlat_Label9.Text = "Non";
                }
                else if (pomme == "Disconnectedyesnorang 1" || pomme == "Connectedyesnorang 1")
                {
                    monoFlat_Label9.Text = "Oui";
                }
     
     
            }
           public async Task Bannis()
            {
                string okuser;
                StringBuilder Url = new StringBuilder("http://upchat.fr/Account/");
                Url.Append(Properties.Settings.Default.search1);
                Url.Append("_Account.php");
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url.ToString());
                using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
                using (Stream su = response.GetResponseStream())
                using (StreamReader sr = new StreamReader(su))
                    okuser = await sr.ReadToEndAsync();
                if (okuser == "Disconnectednonorang 1" || okuser == "Connectednonorang 1")
                {
                    monoFlat_Label10.Text = "Non";
                }
                else if (okuser == "Disconnectednoyesrang 1" || okuser == "Connectednoyesrang 1")
                {
                    monoFlat_Label10.Text = "Oui";
                }
            }
            public async Task Connected()
            {
     
                try
                {
                    StringBuilder Url = new StringBuilder("ftp://[ip]/public_html/key/");
                    Url.Append(Properties.Settings.Default.search1);
                    Url.Append("_Connected.php");
                    FtpWebRequest req = default(FtpWebRequest);
                    FtpWebResponse res = default(FtpWebResponse);
                    req = (FtpWebRequest)WebRequest.Create(Url.ToString());
                    req.Credentials = new NetworkCredential("user", "pass");
                    using (res = (FtpWebResponse)await req.GetResponseAsync())
                        monoFlat_Label11.Text = "oui";
     
     
                }
                catch (Exception ex)
                {
                    monoFlat_Label11.Text = "non";
                }
            }
     
     
     
            private void Form8_Load(object sender, EventArgs e)
            {
                monoFlat_ThemeContainer1.Text = "Profil de " + Properties.Settings.Default.search1;
                monoFlat_Label7.Text = Properties.Settings.Default.search1;
     
     
     
            }
     
     
     
            private void monoFlat_LinkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) // liste d'amis
            {
                Form9 f9 = new Form9();
                f9.Show();
            }
     
            private void monoFlat_Button1_Click(object sender, EventArgs e) //devenir amis
            {
                FtpWebRequest req = default(FtpWebRequest);
                FtpWebResponse res = default(FtpWebResponse);
     
                req = (FtpWebRequest)WebRequest.Create("ftp://[ip]/public_html/Friend/" + Properties.Settings.Default.user + "_ignore/" + Properties.Settings.Default.search1);
                req.Credentials = new NetworkCredential("user", "pass");
                try
                {
                    res = (FtpWebResponse)req.GetResponse();
                    MessageBox.Show("Vous ignorez cet utilisateur.!" + "\n" + "Rendez-vous dans vos paramètres pour enlever cette mention.", "Contact impossible", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    res.Close();
                    return;
                }
                catch (WebException u)
                {
                    FtpWebRequest reqa = default(FtpWebRequest);
                    FtpWebResponse resa = default(FtpWebResponse);
     
                    reqa = (FtpWebRequest)WebRequest.Create("ftp://[ip]/public_html/Friend/" + Properties.Settings.Default.search1 + "_amis/" + Properties.Settings.Default.user);
                    reqa.Credentials = new NetworkCredential("user", "pass");
                    try
                    {
                        resa = (FtpWebResponse)reqa.GetResponse();
                        MessageBox.Show("Vous êtes déjà amis avec cet utilisateur.!", "Erreur d'ajout", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        resa.Close();
                        return;
                    }
                    catch (WebException ex)
                    {
                        try
                        {
                            string arl = "ftp://[ip]/public_html/Friend/" + Properties.Settings.Default.search1 + "_invit/" + Properties.Settings.Default.user;
                            FtpWebRequest reques = default(FtpWebRequest);
                            FtpWebResponse respons = default(FtpWebResponse);
                            reques = (FtpWebRequest)WebRequest.Create(arl);
                            reques.Credentials = new NetworkCredential("user", "pass");
                            reques.Method = WebRequestMethods.Ftp.AppendFile;
                            respons = (FtpWebResponse)reques.GetResponse();
     
                            MessageBox.Show("Invitation envoyée à " + Properties.Settings.Default.search1 + ".!", "Invitation envoyée", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            respons.Close();
                            monoFlat_Button1.Enabled = false;
     
                        }
                        catch (Exception ax)
                        {
                            MessageBox.Show("La demande n'a pas pu aboutir.!" + "\n" + "Veuillez vérifier votre connexion internet." + "\n" + ax.Message, "Erreur lors de la demande.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                    }
                }
            }
     
            private void monoFlat_Button3_Click(object sender, EventArgs e) //ignorer utilisateur
            {
                FtpWebRequest req = default(FtpWebRequest);
                FtpWebResponse res = default(FtpWebResponse);
     
                req = (FtpWebRequest)WebRequest.Create("ftp://[ip]/public_html/Friend/" + Properties.Settings.Default.user + "_ignore/" + Properties.Settings.Default.search1);
                req.Credentials = new NetworkCredential("user", "pass");
                try
                {
                    res = (FtpWebResponse)req.GetResponse();
                    MessageBox.Show("Vous ignorez déjà cet utilisateur.!", "Action impossible", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    return;
                }
                catch (WebException u)
                {
                    try
                    {
                        string arl = "ftp://[ip]/public_html/Friend/" + Properties.Settings.Default.user + "_ignore/" + Properties.Settings.Default.search1;
                        FtpWebRequest reques = default(FtpWebRequest);
                        FtpWebResponse respons = default(FtpWebResponse);
                        reques = (FtpWebRequest)WebRequest.Create(arl);
                        reques.Method = WebRequestMethods.Ftp.AppendFile;
                        reques.Credentials = new NetworkCredential("user", "pass");
                        respons = (FtpWebResponse)reques.GetResponse();
                        MessageBox.Show("Vous ignorez dorénavant ce membre." + "\n" + "Plus aucun contact ne seras possible entre vous." + "\n" + "En cas de harcèlement ou autre, contactez le support immédiatement.", "Mise à l'écart réussie", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        respons.Close();
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("La demande n'a pas pu aboutir.!" + "\n" + "Veuillez vérifier votre connexion internet." + "\n" + ex.Message, "Erreur lors de la demande.", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
     
            private void monoFlat_Button2_Click(object sender, EventArgs e) //contacter le membre
            {
     
                FtpWebRequest req = default(FtpWebRequest);
                FtpWebResponse res = default(FtpWebResponse);
     
     
                req = (FtpWebRequest)WebRequest.Create("ftp://[ip]/public_html/Friend/" + Properties.Settings.Default.user + "_ignore/" + Properties.Settings.Default.search1);
                req.Credentials = new NetworkCredential("user", "pass");
                try
                {
                    res = (FtpWebResponse)req.GetResponse();
                    MessageBox.Show("Vous ignorez cet utilisateur.!" + "\n" + "Rendez-vous dans vos paramètres pour enlever cette mention.", "Contact impossible", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    res.Dispose();
                    return;
                }
                catch (WebException u)
                {
                    FtpWebRequest ru = default(FtpWebRequest);
                    FtpWebResponse rs = default(FtpWebResponse);
                    ru = (FtpWebRequest)WebRequest.Create("ftp://[ip]/public_html/Friend/" + Properties.Settings.Default.search1 + "_ignore/" + Properties.Settings.Default.user);
                    ru.Credentials = new NetworkCredential("user", "pass");
                    try
                    {
                        rs = (FtpWebResponse)ru.GetResponse();
                        MessageBox.Show("Cet utilisateur vous ignore.!" + "\n" + "Il vous est impossible de le contacter.!", "Contact impossible", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        rs.Dispose();
                        return;
     
                    }
                    catch (Exception ex)
                    {
                        res.Dispose();
                        rs.Dispose();
                        //
                        Hide();
                    }
                }
            }
        }
    }

  9. #29
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Pas d'appel à CheckallAsync. C'est normal ?
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  10. #30
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    oui puisqu'il ne fonctionne pas, j'avais mis "await checkallAsync();" dans le form_load mais sans résultat probant.

  11. #31
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    En relisant un peu la discussion avec l'appel à checkallAsync, il semblerait que cela générait une exception. Peut-on avoir plus d'information dessus ? La trace de la pile, la ligne provoquant l'exception, etc... bref, le maximum d'info qui puisse nous aider
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  12. #32
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    Mais je te l'ai donné l'exception que ça donne, tu sais déjà tout:
    -exception dans la fenêtre d’exécution ""'System.InvalidOperationException' dans mscorlib.dll""
    -Aucun affichage sur l'application
    -pas de freeze supplémentaire sur cette partie de l'application

    Je ne peux pas te dire plus puisqu'il n'y a pas plus...
    Je ne peux que te fournir un screen si ça peut t'aider.

    lien

  13. #33
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Si tu n'as pas d'arrêt dans le debogueur suite à la levée de l'exception, je t'ai donné une méthode ici pour avoir le maximum d'information.

    Car sans plus d'information et sans pouvoir faire tourner le programme, difficile d'apporter plus d'aide.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  14. #34
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    Ben parce que lorsque je met le point d'arrêt sans conditions ou autre ben ça fait pareil que si je ne le met pas, ce n'est pas de la mauvaise foi car oui cette fois il y a await checkallasync(); dans le form_load

    http://image.noelshack.com/fichiers/...87668104-f.png

  15. #35
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Citation Envoyé par vazer7070 Voir le message
    Ben parce que lorsque je met le point d'arrêt sans conditions ou autre ben ça fait pareil que si je ne le met pas, ce n'est pas de la mauvaise foi car oui cette fois il y a await checkallasync(); dans le form_load
    Je ne dis pas que c'est de la mauvaise foi, mais nous n'avons pas de boule de cristal. Si tu ne nous donnes pas cette information, on ne peut pas le savoir ! Si ici tu ne t'arrêtes pas sur le point d'arrêt, c'est que l'erreur est ailleurs et qu'on ne regarde pas au bon endroit !

    A ce stade, le plus simple serait sans doute que tu nous mettes à disposition ton projet qu'on puisse regarder directement. Car là, c'est un peu difficile...

    [edit]
    Et si tu mets un pont d'arrêt sur la première instruction de Form8_Load, le programme s'arrête bien quand tu ouvres ton formulaire ?
    [/edit]
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  16. #36
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    Alors je compresse et je t'envoie le projet en mp (histoire que mes ID ne soient pas diffusés partout et que tu puisses quand même exécuter l'application sans soucis).

    et oui quand je met le point d'arrêt dans le form_load, l'application s'arrête.

  17. #37
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Tu as un timeout sur une requête FTP.

    La ligne using (FtpWebResponse response = (FtpWebResponse)await request.GetResponseAsync()) bloque pendant 100s avant de générer une exception.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  18. #38
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    Je le corrige comment du coup.?

  19. #39
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 757
    Points : 10 695
    Points
    10 695
    Billets dans le blog
    21
    Par défaut
    Je ne sais pas. Il faut trouver pourquoi il y a un timeout. Le serveur FTP écoute bien et reçoit bien la requête ? Si tu as des log de ce côté là, tu peux les regarder pour voir si tu as plus d'info.

    Mais tant que ce problème là ne sera pas réglé, tu auras l'impression qui ne se passe rien...
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  20. #40
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2016
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2016
    Messages : 135
    Points : 45
    Points
    45
    Par défaut
    Et pourtant avant de mettre les Async, ça fonctionnait (ça freeze oui mais ça s'affiché).

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Lancer form qui freeze l'application
    Par alacaraibe dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/12/2009, 18h17
  2. [Memset] Freeze de l'application
    Par Bleys dans le forum Bibliothèque standard
    Réponses: 22
    Dernier message: 02/09/2009, 13h10
  3. Mon application "FREEZE"
    Par donaldz dans le forum Langage
    Réponses: 2
    Dernier message: 08/04/2009, 23h27
  4. "Freeze" d'une application Java/SWING sur fedora 10
    Par logdrop dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 27/03/2009, 17h26
  5. Freeze de l'application
    Par thierry007 dans le forum VB.NET
    Réponses: 6
    Dernier message: 09/10/2008, 13h59

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