Практическое руководство. Отладка не вполне надежного приложения
Применяется к приложениям Windows и консольным приложениям.
Развертывание и безопасность технологии ClickOnce облегчает развертывание приложения частичного доверия, использующего преимущества Управление доступом для кода для ограничения доступа к ресурсам компьютера.
Отладка приложения частичного доверия может быть сложной задачей, так как приложения частичного доверия имеют различные права (и поэтому ведут себя по-разному) в зависимости от того, откуда они установлены.Если из интернета, то у приложения частичного доверия будут мало прав.Если из локальной интрасети, прав будет больше, а если с локального компьютера, оно будет иметь полные права.Также возможны настраиваемые зоны, с настраиваемыми разрешениями.Может потребоваться отладка приложений частичного доверия при любых условиях из упомянутых.К счастью, Visual Studio упрощает и это.
Перед началом сеанса отладки в Visual Studio можно выбрать нужную зону для имитации места, откуда установлено приложение.При запуске отладки приложение будет иметь права, соответствующие приложению частичного доверия из этой зоны.Это позволяет увидеть поведение приложения так, как оно будет выглядеть для пользователя, загрузившего его из этой зоны.
Если приложение пытается выполнить действие, на которое не имеет разрешения, то возникнет исключение.В этот момент помощник по исключениям предоставляет возможность добавить дополнительные права, что позволяет перезапустить отладку с достаточными правами и избежать проблем.
Позже можно вернуться назад и увидеть, какие права были добавлены во время отладки.Если было необходимо добавить разрешение во время отладки, значит, вероятно, необходимо добавить запрос согласия пользователя в этой точке кода.
Примечание |
---|
Для визуализаторов отладчика необходимы более широкие привилегии, чем те, которые назначаются приложениям с частичным доверием.Визуализатор не загрузит переменную или объект, если остановка произошла в коде с частичным доверием.Для отладки с помощью визуализатора необходимо запустить код с полным доверием. |
Выбор зоны для приложения частичного доверия
В меню Проект выберите ИмяпроектаСвойства.
На страницах свойств проекта ИмяПроекта щелкните страницу Безопасность.
Выберите Включить параметры безопасности ClickOnce-приложений.
В группе Зона, из которой приложение будет установлено выберите в раскрывающемся списке нужную зону для имитации места, откуда устанавливалось приложение.
Сетка Разрешения, необходимые для приложения отображает все доступные разрешения.Установленный флажок указывает разрешения, данные приложению.
Если выбранная зона была (Другой), выберите правильные параметры в столбце Параметр сетки Разрешения.
Нажмите кнопку ОК, чтобы закрыть страницы свойств.
Добавление дополнительного разрешения при возникновении исключения безопасности
Откроется диалоговое окно помощника по исключениям с сообщением "SecurityException не обработано".
В диалоговом окне Помощник по исключениям в группе Действия выберите пункт Добавить разрешение в проект.
Откроется диалоговое окно Перезапуск отладки.
Чтобы перезапустить отладку сеанса с новым разрешением, нажмите кнопку Да.
Если перезапускать сейчас не нужно, нажмите кнопку Нет.
Просмотр дополнительных разрешений, добавленных во время отладки
В меню Проект выберите ИмяпроектаСвойства.
На страницах свойств проекта ИмяПроекта щелкните страницу Безопасность.
Посмотрите на сетку Разрешения, необходимые для приложения.Любые добавленные дополнительные разрешения имеют два значка в столбце Включен: обычный флажок, который имеют все включенные разрешения, и дополнительный значок, который выглядит как шарик, содержащий букву "i".
Используйте вертикальную полосу прокрутки для просмотра всей сетки Разрешения, необходимые для приложения.