2016-04-09 4 views
1

Я стараюсь писать некоторые данные с StreamWriter в текстовом файле и чем использовать их как печеньеКак сохранить «куки» в приложении выиграть с C#

вар писатель = новый System.IO.StreamWriter (Application.StartupPath + "\ Cookies \ cookies.txt");

Но после установки приложения из файла .exe и выполнить, он показывает ошибку «Отказано в доступе в пути ...»

Я не уверен, что, если проблема в пути файла, который я хотите использовать в качестве файла для файлов cookie или при создании установки MSI/Setup приложения, даже я включаю папку Cookies в приложение.

Есть ли у вас какие-либо предложения, которые являются наилучшей практикой для сохранения «cookies» в приложении win?

ответ

2

Кажется, что ваш исходный код находится в каком-то месте, где допускается запись файла, но когда вы запускаете exe, тогда место выполнения не разрешено для записи файла. Поскольку вы пишете файл в пути выполнения exe, разрешение на запись файла зависит от места выполнения. Если вы выполняете exe из местоположения, где записана запись файла, он не будет генерировать исключение, и если флажок, где запись файла не разрешена, то он будет генерировать исключение. Поэтому мое предложение использовать допустимый статическое место, где пользователь имеет разрешения на запись файла, как AppData или Документов, как показано ниже

var writer = new System.IO.StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\Cookies\cookies.txt"); 

или

var writer = new System.IO.StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\Cookies\cookies.txt"); 

Надеется, что это поможет

0

irst Вы уверены, что необходимая папка находится под соответствующей структурой папок? Поскольку StartupPath вернет путь к вашему exe-файлу?

Смежные вопросы