ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
сейчас доступен на antichat.xyz.
 |
[C#] WebResponce.GetResponseStream() |

12.05.2010, 00:15
|
|
Новичок
Регистрация: 03.05.2010
Сообщений: 16
Провел на форуме: 30737
Репутация:
0
|
|
[C#] WebResponce.GetResponseStream()
Здраствуте у мну есть вот код
PHP код:
if (Status == Status.CANCEL) { GoEnd(WordEnum.CANCEL_BY_USER, true); return; } string path = CurrentProperty.Path; string fileName = path + file.FileName.Replace("/", "\\") + ".zip"; var url = new Uri(CurrentProperty.listURL() + file.FileName + ".zip"); var info = new FileInfo(fileName); if (info.Directory != null) { if (!info.Directory.Exists) { info.Directory.Create(); } } //var client = new WebClient(); // Stream remoteStream = null; int iRunningByteTotal = 0; bool exception = true; try { WebRequest request = WebRequest.Create(url); using (WebResponse response = request.GetResponse()) { using (Stream remoteStream = response.GetResponseStream()) { long iSize = response.ContentLength; using (Stream fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.Write)) { var byteBuffer = new byte[BUFFER_SIZE]; string word = LanguageHolder.Instance()[WordEnum.DOWNLOADING_S1]; MainForm.Instance.UpdateStatusLabel(String.Format(word, info.Name.Replace(".zip", ""))); int oldPersent = 0; int iByteSize; while ((iByteSize = remoteStream.Read(byteBuffer, 0, byteBuffer.Length)) > 0) { if (Status == Status.CANCEL) { GoEnd(WordEnum.CANCEL_BY_USER, false); break; } fileStream.Write(byteBuffer, 0, iByteSize); iRunningByteTotal += iByteSize; var persent = (int)((100F * iRunningByteTotal) / iSize); if (persent != oldPersent) { oldPersent = persent; MainForm.Instance.UpdateProgressBar(persent, false); } } exception = false; } } } } catch (WebException e) { if (_log.IsDebugEnabled) { _log.Info("Exception[241]: " + e, e); } GoEnd(WordEnum.PROBLEM_WITH_INTERNET, true); return; } catch (Exception e) { if (_log.IsDebugEnabled) { _log.Info("Exception[251]: " + e, e); } GoEnd(WordEnum.PROBLEM_WITH_SERVER, true); return; }
програма простенька сверяет файлы и потом качает.
Но оказалось странное...Когда вызывается WebResponce.GetResponseStream() выбрасывает бывает StackOverFlowException.
Вопрос ктото с таким стыкался....и Если ли другие класы для достании длины удаленного файла и потом для скачки....
|
|
|

12.05.2010, 00:29
|
|
Участник форума
Регистрация: 20.02.2009
Сообщений: 224
Провел на форуме: 5075819
Репутация:
274
|
|
WebClient wob=new WebClient();
wob.DownloadFile(...,...);
|
|
|

12.05.2010, 13:15
|
|
Новичок
Регистрация: 03.05.2010
Сообщений: 16
Провел на форуме: 30737
Репутация:
0
|
|
Сообщение от .ATK
WebClient wob=new WebClient();
wob.DownloadFile(...,...);
спасибо, я хоть и знал)
|
|
|
|
 |
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
[C#] Из жизни багов: байты в циклах
|
Algol |
С/С++, C#, Delphi, .NET, Asm |
47 |
31.12.2009 11:15 |
|
Делаю программные фейки [C#]
|
cel1697i845 |
О Работе |
3 |
22.12.2009 21:09 |
|
Выбор курсовой [C#]
|
jecka3000 |
С/С++, C#, Delphi, .NET, Asm |
10 |
21.12.2009 21:55 |
|
[C#] Как сделать принудительный разрыв сетевого сединения (дисконнект) в .NET
|
FEV |
С/С++, C#, Delphi, .NET, Asm |
0 |
19.12.2009 18:38 |
|
Sale of ICQ
|
Hertz |
ICQ - Покупка, продажа |
1 |
28.09.2009 04:27 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|