2014-11-18 8 views
0

Примечание: ниже имя пользователя и пароль 100% правильно ... пожалуйста, помогите мнеПочему я не могу установить соединение с сетью в компактном каркасе C#?

public static bool DownloadFile(string url, string destination) 
    { 
     bool success = false; 
     int i = 0; 

     System.Net.HttpWebRequest request = null; 
     System.Net.WebResponse response = null; 
     Stream responseStream = null; 
     FileStream fileStream = null; 



     try 
     { 
      i = 1; 
      request=(HttpWebRequest)WebRequest.Create("http://retfsoftware.com/SiddhPrj/TimeClock Biopad.exe/"); 

      //request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url); 
      request.Method = "GET"; 




      request.Timeout = 100000; // 100 seconds 
      request.Credentials = new NetworkCredential("usernmae", "password"); 
      //request.Credentials = CredentialCache.DefaultCredentials; 

      response = request.GetResponse(); 

      i=2; 
      responseStream = response.GetResponseStream(); 

      fileStream = File.Open(destination, FileMode.Create, FileAccess.Write, FileShare.None); 

      // read up to ten kilobytes at a time 
      int maxRead = 10240; 
      byte[] buffer = new byte[maxRead]; 
      int bytesRead = 0; 
      int totalBytesRead = 0; 

      // loop until no data is returned 
      while ((bytesRead = responseStream.Read(buffer, 0, maxRead)) > 0) 
      { 
       totalBytesRead += bytesRead; 
       fileStream.Write(buffer, 0, bytesRead); 
      } 

      // we got to this point with no exception. Ok. 
      success = true; 
     } 
     catch (Exception exp) 
     { 
      // something went terribly wrong. 
      success = false; 
      MessageBox.Show(exp.Message + (i)); 
     } 
     finally 
     { 
      // cleanup all potentially open streams. 

      if (null != responseStream) 
       responseStream.Close(); 
      if (null != response) 
       response.Close(); 
      if (null != fileStream) 
       fileStream.Close(); 
     } 

     // if part of the file was written and the transfer failed, delete the partial file 
     if (!success && File.Exists(destination)) 
      File.Delete(destination); 

     return success; 
    } 

Вы можете найти код выше и помочь мне

+0

Можете ли вы установить соединение с помощью веб-браузера с тем же URL-адресом с теми же учетными данными и на том же компьютере в той же сети? Это поможет изолировать, если это сетевая проблема, проблема с конфигурацией системы или проблема с программным обеспечением. –

+1

Да ..! Когда я устанавливаю соединение с браузером с тем же именем и паролем, он получает доступ к той же сети и тому же компьютеру. Это FTP-сервер. Я хочу загрузить файл с моего ftp-сервера в Compact framework CE 6.0 ..! Выше код не работает Пожалуйста, помогите мне ..! Если у вас есть другой способ, пожалуйста, дайте мне знать – Siddh

ответ

-1

Вам нужно использовать FtpWebRequest тип вместо. В вашем примере вы используете HttpWebRequest, а HTTP - это не то, как FTP-серверы говорят со своими клиентами. Это другой протокол.

+0

, но его нет в пространстве имен System.Net. Я попытался получить ftp, но он не показывает – Siddh

+0

@ user4265170 Вы находитесь в компактном каркасе, и поэтому он недоступен для вас. Вам нужно будет найти библиотеку, которая даст вам эту функциональность. https://ftp.codeplex.com/ - один бесплатный пример. –

+0

Ohhkkk..Thx buddy – Siddh