Как написать в файл в локальном приложении веб-браузера WPF?Песочница не позволяет? - PullRequest
0 голосов
/ 30 августа 2010

Итак, у меня есть локальное приложение для веб-браузера WPF, и оно мне нужно для записи в текстовый файл. Однако я всегда получаю исключение типа System.Reflection.TargetInvocationException. Я не получаю больше информации, но я уверен, что это потому, что она запускается из веб-браузера (безопасность и т. Д.).

Код, который я использую, работает в обычном приложении Windows Form и т. Д. Это обычно:

        StreamWriter sw;
        sw = File.CreateText("c:\\myTextFile.txt");
        sw.WriteLine("First line");
        sw.Close();

Итак, есть ли обходной путь для этого?

Большое спасибо, Томас

Ответы [ 4 ]

1 голос
/ 30 августа 2010

WPF в браузере по умолчанию настроен на частичное доверие.Вы можете изменить это на вкладке «Безопасность» в «Свойствах проекта» (если, конечно, она установлена ​​доверенным пользователем).

1 голос
/ 30 августа 2010

Вы можете попробовать запустить в Режим полного доверия .

0 голосов
/ 30 августа 2010

См. на этой странице , где описаны вопросы безопасности частичного доверия.Если вам нужно сохранить файл для использования в вашем собственном приложении, рассмотрите возможность использования Isolated Storage .Если вы хотите разрешить пользователю сохранять файл на диск, вы можете использовать SaveFileDialog.OpenFile , чтобы позволить пользователю выбрать путь и подтвердить сохранение файла.

0 голосов
/ 30 августа 2010

Проблема не в проблемах безопасности WPF.Проблема заключается в функции безопасности операционной системы: вы не можете писать в корень диска C: без привилегий администратора.Мало того, что ваше приложение должно быть в режиме полного доверия WPF, вам нужно предоставить административные привилегии вашему приложению в Vista и Windows 7 и более поздних версиях.

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

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