Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Silverlight Сохранение файла из события wcf 
:(
    Опции темы
gambit
Дата 29.3.2011, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Добрый день.
У сильвера вообще как то плохо с сохранением файлов, но сейчас запоролся полностью.
Раньше в UI получал кучу файлов и по нажатии на кнопку сохранял текст одного из них

Код

bool? result = saveFileDialog.ShowDialog();
            if (result == true)
            {
                System.IO.Stream fileStream = saveFileDialog.OpenFile();
                System.IO.StreamWriter sw = new System.IO.StreamWriter(fileStream);
                sw.WriteLine(переменная с текстом);
                sw.Flush();
                sw.Close();
            }

Сейчас в целях оптимизации переписал, это счасть на пполучение конкретного файла по нажатии клавиши, и сохранение вынес в событие окончания асинхронной операции wcf.
Код тот же самый, но перенесен из обработчика события кнопки в другой обработчик. И при попытке сохранения все это счастье падает на строке bool? result = saveFileDialog.ShowDialog();
типа это я вызвал это окошко, а не пользователь. Как быть???
PM MAIL ICQ Skype   Вверх
under_sun
Дата 29.3.2011, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 3.10.2007
Где: Ебург

Репутация: 1
Всего: 17



Здесь описывается способ, как это можно сделать.
--------------------
TMTOWTDI
PM MAIL ICQ   Вверх
gambit
Дата 30.3.2011, 09:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



under_sun, вы вопрос прочитали??
PM MAIL ICQ Skype   Вверх
-Mikle-
Дата 30.3.2011, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 13
Всего: 59



gambit, ответ вам дали верный. По приведенной under_sun ссылке используется подход, в котором по окончанию асинхронного вызова (Completed) показывается окно типа "Загрузка завершена" с кнопкой "Сохранить в файл...". По нажатию этой кнопки вы вызываете окно диалога. 

Если не нравится этот вариант, можете сделать по другому:
1) Вызываете окно диалога сохранения.
2) Если в окне кликнули OK, то запоминаете стрим к файлу (можете передать как userState в асинхронный метод, или запомнить в поле класса, который у вас отвечает за загрузку, как угодно в общем)
3) По окончанию асинхронной операции (в Completed) взять этот запомненный стрим и сохранить в него.

Я использую последний подход, правда в моем случае данные шли порционно, кусочками.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
gambit
Дата 30.3.2011, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: нет
Всего: 40



Цитата(-Mikle- @  30.3.2011,  10:05 Найти цитируемый пост)
По приведенной under_sun ссылке используется подход, в котором по окончанию асинхронного вызова (Completed) показывается окно типа "Загрузка завершена" с кнопкой "Сохранить в файл...". 

Ну значит мой косяк,видимо до этого я не дошел. Но этот вариант крив на мой взгляд.


Цитата(-Mikle- @  30.3.2011,  10:05 Найти цитируемый пост)
 Если в окне кликнули OK, то запоминаете стрим к файлу (можете передать как userState в асинхронный метод, или запомнить в поле класса, который у вас отвечает за загрузку, как угодно в общем)3) По окончанию асинхронной операции (в Completed) взять этот запомненный стрим и сохранить в него.

А вот это мне нравится, спасибо.
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.