Piszę aplikację do przesyłania obrazków na serwer. Działa to w ten sposób: najpierw aplikacja robi print screen z gry a następnie wysyła na serwer FTP. Czasem się jednak dzieje tak, że 1 na 3 obrazki nie prześle się pełny a np. 1/3. Cykl powtarza się domyślnie co 15 minut jednak dla testów co 3 sekundy. Może to być kwestia tego, że w zbyt krótkim czasie je wysyłam czy coś innego może być zepsute?

 FtpWebRequest request = (FtpWebRequest)WebRequest.Create("ftp://tucostam.pl" + name);
            request.Method = WebRequestMethods.Ftp.UploadFile;
            request.Credentials = new NetworkCredential("mmml", "t222!");
            byte[] data = File.ReadAllBytes(name);

            Stream requestStream = request.GetRequestStream();
            requestStream.Write(data, 0, data.Length);

            requestStream.Close();

            FtpWebResponse response = (FtpWebResponse)request.GetResponse();
        
            response.Close();

Obrazek robiony jest tak:

  this.screenShot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
            this.screen = Graphics.FromImage(screenShot);
            this.screen.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
            this.imageFormat = ImageFormat.Png;

            screenShot.Save(this.userName + minutes + ".png", this.imageFormat);

Do uruchomienia metody co 15 minut używam delegata TimerCallBack.