Cerca su HostingTalk.it(puoi inserire qualsiasi parola, termine, azienda, espressione). Scrivi e premi INVIO!
Loading

+ Rispondi alla Discussione
Pagina 2 di 2 PrimaPrima 12
Risultati da 16 a 22 di 22

Discussione: Stranezza in C#

  1. #16
    Provider L'avatar di danielej
    Data Registrazione
    Oct 2006
    Località
    Milano
    Messaggi
    504

    Re: Stranezza in C#

    Molto strano, qui ho provato con limite a 10 e 10 download con il codice di prima da applicazione console sia col metodo sincrono multi thread sia col metodo asincrono, e partono i 10 download insieme.



  2. #17
    Provider L'avatar di guest
    Data Registrazione
    Nov 2007
    Località
    Riccione
    Messaggi
    6,234

    Re: Stranezza in C#

    Non ne ho proprio idea.
    Leggendo in giro sembra che le connessioni verso uno stesso host siano, di default, limitate a 2. Ed in effetti, quando partono molti download ne partono proprio due.

    Dovrebbe bastare mettere questa configurazione:
    Codice:
    <configuration>
      <system.net>
          <connectionManagement>
            <add address="*" maxconnection="100"   />
          </connectionManagement>
      </system.net>
    </configuration>
    ma ovviamente non viene presa in considerazione, perchè sempre 2 download partono.

    EDIT:
    però aspetta, nel tue codice c'è qualche cosa che non va.
    Tu controlli solo che venga avviato il download, e questo lo fa anche a me, ma in realtà non scarica nulla. I 10 download partono, ma solo 1 o massimo 2 scaricano, gli altri sono in sospeso.

    Puoi vedere se stanno scaricando collegandoti ad uno degli eventi come ho fatto io.
    Ultima modifica di guest; 17-08-2010 alle 17:56
    http://www.web4web.it - Low Cost Hosting
    Tutti i pacchetti sono multidominio.
    Database e domini illimitati a partire da €10


    http://www.guest.it - Servizi professionali su misura.

  3. #18
    Provider L'avatar di danielej
    Data Registrazione
    Oct 2006
    Località
    Milano
    Messaggi
    504

    Re: Stranezza in C#

    Con la richiesta sincrona multi thread finito il download scrive completato, guardando le dimensioni dei file creati aumentano insieme.

    Per quelle asincrone su singolo thread, a scrivere gli eventi in un'applicazione console si capisce poco, però le dimensioni dei file creati aumentano sempre insieme.

    Codice:
    class Program
    {
        const string indirizzoDL = "http://prova/prova";
    
        static void Main(string[] args)
        {
            System.Net.ServicePointManager.DefaultConnectionLimit = 10;
            Console.WriteLine("DefaultConnectionLimit: " + System.Net.ServicePointManager.DefaultConnectionLimit);
            for (int i = 1; i <= 10; i++)
            {
                myDL(i);
            }
            //ho scritto un'applicazione console, questo per evitare che termini
            do
            {
                System.Threading.Thread.Sleep(1000);
            } while (true);
        }
    
        static void myDL(int iCount)
        {
            try
            {
                System.Net.WebClient myWebClient = new System.Net.WebClient();
                string myDest = System.IO.Path.Combine(System.IO.Path.GetTempPath(), Guid.NewGuid().ToString());
    
                Console.WriteLine(string.Format("{0:G} - {1} Iniziato", DateTime.Now, iCount));
                myWebClient.DownloadFileCompleted += myWebClient_DownloadFileCompleted;
                myWebClient.DownloadProgressChanged += myWebClient_DownloadProgressChanged;
                // Metto il numero del download come parametro userToken
                myWebClient.DownloadFileAsync(new System.Uri(indirizzoDL), myDest, (object)iCount);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
            }
    
        }
    
        private static void myWebClient_DownloadProgressChanged(object sender, System.Net.DownloadProgressChangedEventArgs e)
        {
            // Riprendo il numero del download
            int iCount = (int)e.UserState;
    
            Console.WriteLine("{0}. Scaricati {1} / {2} bytes. {3} %",
                iCount.ToString(),
                e.BytesReceived,
                e.TotalBytesToReceive,
                e.ProgressPercentage);
        }
    
    
        private static void myWebClient_DownloadFileCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
        {
            // Riprendo il numero del download
            int iCount = (int)e.UserState;
    
            Console.WriteLine("{0} Completato", iCount.ToString());
        }
    
    }

  4. #19
    Provider L'avatar di guest
    Data Registrazione
    Nov 2007
    Località
    Riccione
    Messaggi
    6,234

    Re: Stranezza in C#

    Non so che dirti, a me non funziona. Più di 2 download non vanno.
    Prova a fare una applicazione form e non console, non vorrei fosse quello il problema. Magari le applicazioni a form son soggette ad alcune limitazioni.

    EDIT: ho fatto copia-incolla del tuo codice in una applicazione console.
    Non va, parte il download 1 e il 9, nient'altro. Sempre 2 download vanno.
    Ultima modifica di guest; 17-08-2010 alle 20:10
    http://www.web4web.it - Low Cost Hosting
    Tutti i pacchetti sono multidominio.
    Database e domini illimitati a partire da €10


    http://www.guest.it - Servizi professionali su misura.

  5. #20
    Provider L'avatar di guest
    Data Registrazione
    Nov 2007
    Località
    Riccione
    Messaggi
    6,234

    Re: Stranezza in C#

    Sig. Kaspersky Internet Security, sei un maledetto.
    http://www.web4web.it - Low Cost Hosting
    Tutti i pacchetti sono multidominio.
    Database e domini illimitati a partire da €10


    http://www.guest.it - Servizi professionali su misura.

  6. #21
    Provider L'avatar di danielej
    Data Registrazione
    Oct 2006
    Località
    Milano
    Messaggi
    504

    Re: Stranezza in C#

    Cioè il firewall di quel software ti bloccava le connessioni successive alla 2°?

  7. #22
    Provider L'avatar di guest
    Data Registrazione
    Nov 2007
    Località
    Riccione
    Messaggi
    6,234

    Re: Stranezza in C#

    Decisamente, maledetto firewall.
    http://www.web4web.it - Low Cost Hosting
    Tutti i pacchetti sono multidominio.
    Database e domini illimitati a partire da €10


    http://www.guest.it - Servizi professionali su misura.

Discussioni Simili

  1. [Vendo] Dominio stranezza.com
    Di originalmi nel forum Domini e siti web: vendita, aste e acquisti
    Risposte: 0
    Ultimo Messaggio: 22-03-2010, 16:44
  2. Stranezza.. forse sono stato bucato?
    Di Fillo nel forum VPS - Virtual Private Server
    Risposte: 38
    Ultimo Messaggio: 27-04-2008, 13:26

Informazioni Discussione

Utenti che Stanno Visualizzando Questa Discussione

Ci sono attualmente 1 utenti che stanno visualizzando questa discussione. (0 utenti e 1 ospiti)

Tag per Questa Discussione

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi