исключение безопасности .net - PullRequest
2 голосов
/ 12 июля 2010

Я использую класс OpenFileDialog для просмотра файла в оконном приложении, используя c #.Это дает исключение безопасности, как показано ниже.

Запрос на разрешение типа 'System.Security.Permissions.FileIOPermission, mscorlib, Версия = 2.0.0.0, Культура = нейтральный, PublicKeyToken = b77a5c561934e089' не выполнен.

Мой код

        OpenFileDialog fdlg = new OpenFileDialog();
        fdlg.Title = "C# Corner Open File Dialog";
        fdlg.InitialDirectory = @"c:\";
        fdlg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*";
        fdlg.FilterIndex = 2;
        fdlg.RestoreDirectory = true;
        if (fdlg.ShowDialog() == DialogResult.OK)
        {
            txtpath.Text = fdlg.FileName;
        }

У меня не возникает проблемы.пожалуйста, помогите.

Ответы [ 3 ]

1 голос
/ 12 июля 2010

Если вы на самом деле пытаетесь запустить этот код из приложения ASP.NET, то полученное исключение имеет смысл. Это код Windows Forms, и он не предназначен для запуска в приложении ASP.NET.

Помимо прочего, приложения ASP.NET работают в среде с ограниченным доверием. Им не разрешается делать определенные вещи, которые может делать «нормальное» приложение.


.NET включает концепцию, называемую Code Access Security . Он предоставляет различный доступ к различным функциям .NET в зависимости от того, откуда берется код. Естественно, код, запущенный с вашего компьютера, более надежен, чем код, запущенный с другого компьютера. В вашей среде это означает, что такой доступ к файловой системе не является доверенным.

Этот код необходимо скопировать на локальный диск и запустить оттуда.

1 голос
/ 12 июля 2010

Примечание по безопасности
Чтобы получить или установить свойство FileName, вашей сборке требуется уровень привилегий, предоставленный классом System.Security.Permissions.FileIOPermission. Если вы работаете в контексте частичного доверия, процесс может выдать исключение из-за недостаточных прав доступа. Для получения дополнительной информации см. Основы безопасности доступа к коду.

0 голосов
/ 02 апреля 2014

Для настольного приложения, пожалуйста, проверьте настройку «Безопасность» в свойствах вашего проекта, чтобы отключить настройки безопасности ClickOnce Удачи!

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