Параметры хранения в Silverlight - PullRequest
2 голосов
/ 05 октября 2011

В настоящее время я работаю над проектом, который имеет очень интересный набор требований.Он должен быть в серебряном свете, но все хранимые данные ДОЛЖНЫ храниться локально и не могут быть отправлены на сервер, но это.

Казалось, что изолированное хранилище является идеальным кандидатом для этого, за исключением того, что многие клиенты хотели иметь возможность выбирать, гдефайл данных должен быть сохранен (это изолированное хранилище, кажется, абстрагируется от вас), и кажется, что я не могу открыть диалоговое окно сохранения файла в silverlight, если его «пользователь не инициировал»

Итак, вместо того, чтобы вызватьдиалоговое окно сохранения когда пользователь сохраняет что-либо в приложении. Какие у меня варианты?

Вещи, о которых я думал сегодня: откройте файл при запуске приложения и держите поток открытым на время работы приложения, попросите их настроить перемещаемый профиль, чтобы данные приложения и изолированное хранилище сохранялись на их флэш-накопителе(действительно грязное решение).Есть ли еще что-нибудь?Может быть, отправка данных в браузер и использование какого-то хитрого решения JavaScript?

Ответы [ 2 ]

2 голосов
/ 05 октября 2011

Я не думаю, что есть прямое решение этой проблемы. Любой доступ к локальному файлу без взаимодействия с пользователем звучит как дыра в безопасности платформы (Silverlight и / или браузер).

Если вы хотите закодировать себя в дыре в безопасности, я могу придумать одно решение. Элементы управления ActiveX могут решить эту проблему, но тогда вы ограничены IE. Я полагаю, что надстройки браузера тоже могут это сделать.

Я мог бы также представить отправку данных в веб-службу, и эта служба каким-то образом выталкивает (но не сохраняет) файлы на локальную машину через какой-либо сетевой ресурс или что-то еще (только в интрасети). Но это звучит ужасно!

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

0 голосов
/ 05 октября 2011

Что делать, если вы использовали изолированное хранилище для сохранения местоположения файла сохранения, а затем просто запрашивали место сохранения при первом запуске или файл сохранения не находится в своем сохраненном месте.Это значит, что данные хранятся локально с неким контролем, но вы не держите поток открытым (возможно, часами) и не запрашиваете пользователя при каждом сохранении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...