Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2011, 02:23   #1
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
Вопрос запуск программы

Столкнулся с проблемой...
Есть программа:
Код:
Console.WriteLine("test");
            for (int i = 0; i < 30; i++)
            {
                Console.WriteLine(i);
                Thread.Sleep(30);
            }
            string remoteUri = "http://otherplanet.ru/";
            string fileName = "test1.jpg";
            string myStringWebResource = remoteUri + fileName;
            WebClient myWebClient = new WebClient(); 
            myWebClient.DownloadFile(myStringWebResource, fileName);
            Console.WriteLine("bye");
            Console.ReadKey();
Ссылка для теста http://otherplanet.ru/test.exe
Почему-то, если скачивать ее любым браузером и запускать из браузера(оболочка браузера) - то она вылетает, а если открыть место куда она скачалась и запустить, то нормально запускается...
Проблема, как было выяснено эмпирически, возникает с WebClient...
Возникает резонный вопрос... в чем разница и как лечиться...

Последний раз редактировалось dampirik; 02.01.2011 в 02:30.
dampirik вне форума Ответить с цитированием
Старый 02.01.2011, 04:12   #2
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Проблема решается указанием пути, куда нужно сохранить скачиваемый файл.
Попробуй такой путь:
Код:
String path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "OtherPlanet");
Снимок исключения, тут видно из-за чего проблема:


Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Threading;
using System.Diagnostics;
//Проект должен скачивать с сервера картинку.
namespace ConsApp_DownloadEXE
{
    class Program
    {
        static Boolean flag = false; //Иногда после "До свидания" ещё 1 раз показывался процент загрузки файла

        static void Main(string[] args)
        {
            
            Console.WriteLine("Тест");
            for (int i = 0; i < 30; i++)
            {
                Console.WriteLine(i);
                Thread.Sleep(30);
            }
            string str = "http://otherplanet.ru/";
            string fileName = "test1.jpg";
            string address = str + fileName;


            String path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "OtherPlanet");
            if (!Directory.Exists(path))
                Directory.CreateDirectory(path);
            

            WebClient webClient = new WebClient();
            webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged);
            webClient.DownloadFileAsync(new Uri(address, UriKind.Absolute), Path.Combine(path, fileName));
            while (webClient.IsBusy)
                Thread.Sleep(30);
            flag = true;

            Console.WriteLine("\nДо свидания");
            Process.Start(path);
            Console.ReadKey();

        }

        static void webClient_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
        {
            //\r - чтобы писать в одной строке
            if (!flag)
               Console.Write("\rПроцент загрузки: {0}%", e.ProgressPercentage);
        }
    }
}

Последний раз редактировалось Casper-SC; 02.01.2011 в 05:19.
Casper-SC вне форума Ответить с цитированием
Старый 02.01.2011, 12:38   #3
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

мысль понята... спасибо)
dampirik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск программы cyberandom Помощь студентам 4 07.11.2010 20:59
Запуск программы Vladya Помощь студентам 4 17.11.2008 11:38
Запуск программы на выполнение из другой программы. ViNcHeStEr Паскаль, Turbo Pascal, PascalABC.NET 6 18.06.2008 14:33
Запуск программы Egych Общие вопросы Delphi 4 04.05.2007 09:46