Как зайти в Даркнет?!
25th January, 01:11
8
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
899
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
952
0
Очень долго работает Update запрос Oracle
27th January, 09:58
916
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
907
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
942
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1727
0
период по дням
25th October, 10:44
3957
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3722
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4614
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4382
0
Помогите пожалуйста решить задачи
24th November, 23:53
6088
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4352
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4400
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Загрузка двоичных данных с помощью Silverlight 2b2
Я пытаюсь загрузить файл или поток данных на наш веб-сервер, и я не могу найти достойный способ сделать это. Я пробовал оба WebClient и WebRequest оба имеют свои проблемы.
WebClient
Приятно и легко, но вы не получаете никакого уведомления о том, что асинхронная загрузка завершена, и событие UploadProgressChanged не возвращается с чем-либо полезным. Альтернативой является преобразование двоичных данных в строку и использование UploadStringASync , потому что тогда , по крайней мере, вы получите UploadStringCompleted, проблема в том, что вам нужно много ram для больших файлов, поскольку он кодирует все данные и загружает их за один раз.
HttpWebRequest
Немного сложнее, но все же делает то, что нужно, проблема, которую я получаю, заключается в том, что, хотя она вызывается в фоновом потоке (предположительно), она по-прежнему блокирует мой UI и весь браузер, пока загрузка не завершится, что кажется не совсем правильным.
Обычный .net имеет некоторые соответствующие методы WebClient для OnUploadDataCompleted и прогресса, но они не доступны в Silverlight .net ... большое упущение, я думаю!
У кого-нибудь есть какие-либо решения, мне нужно загрузить несколько двоичных файлов предпочтительно с прогрессом, но мне нужно выполнить некоторые действия, когда файлы завершат свою загрузку.
С нетерпением ждем помощи с этим.
Как я могу обойти это через INotifyPropertyChanged и уведомление о событии.
Необходимость:
public void DoIt(){
this.IsUploading = True;
WebRequest postRequest = WebRequest.Create(new Uri(ServiceURL));
postRequest.BeginGetRequestStream(new AsyncCallback(RequestOpened), postRequest);
}
private void RequestOpened(IAsyncResult result){
WebRequest req = result.AsyncState as WebRequest;
req.BeginGetResponse(new AsyncCallback(GetResponse), req);
}
private void GetResponse(IAsyncResult result)
{
WebRequest req = result.AsyncState as WebRequest;
string serverresult = string.Empty;
WebResponse postResponse = req.EndGetResponse(result);
StreamReader responseReader = new StreamReader(postResponse.GetResponseStream());
this.IsUploading= False;
}
private Bool_IsUploading;
public Bool IsUploading
{
get { return _IsUploading; }
private set
{
_IsUploading = value;
OnPropertyChanged("IsUploading");
}
}
Сейчас silverlight - это PiTA из-за двойных и тройных асинхронных вызовов.
У Мэтта Берсета были кое-какие мысли на этот счет, может быть, помогут:
http://mattberseth.com/blog/2008/07/aspnet_file_upload_with_realti_1.html
@Dan -Извини, приятель, я мог бы поклясться, что статья Мэтта была о Silverlight, но это совершенно очевидно не так. Во всем виноваты те два больших стакана чилийского красного, которые я только что выпил. :-)
Спасибо, проблема, которую я вижу в статье, заключается в том, что она не говорит о Silverlight, а Silverlight имеет ограниченные функции, по какой-то причине они удалили некоторые необходимые события и методы для бинарных передач без причины.
Мне нужно использовать Silverlight, так как мне нужно / нужно загрузить несколько файлов, а HTML не позволяет загружать несколько файлов.
Это было в значительной степени то, что я делал, проблема, которую я получал, заключалась в том, что мой UI был заперт.
Поскольку вы предположили, что я уже делал, я предположил, что проблема была где-то в другом месте, поэтому я использовал старый разделяй и властвуй, чтобы сузить проблему, и это был не фактический код обновления, а моя попытка отправить запрос на обновление моего индикатора выполнения во время потока загрузки кода.
Спасибо за совет.