Как писать в Web.Config со средним доверием?

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

Я решил все проблемы, кроме одной.

Я написал установщик, чтобы администратор мог указать свою строку подключения и другие настройки, но я не могу найти способ записать в web.config со средним доверием. У кого-нибудь есть решение, или я должен просто поместить настройки в другой файл?

Ответов (1)

На самом деле это похоже на Low уровень IIS . Если это так, то вы не сможете писать ни в один файл, а не только в web.config.

Вот уровни из файла справки IIS:

  • Полный (внутренний) - указывает неограниченные разрешения. Предоставляет приложению ASP.NET разрешения на доступ к любому ресурсу, который подлежит безопасности операционной системы. Поддерживаются все привилегированные операции.
  • Высокий (web_hightrust.config) - указывает высокий уровень безопасности доступа для кода, что означает, что приложение по умолчанию не может выполнять одно из следующих действий:
    • Вызов неуправляемого кода.
    • Вызов обслуживаемых компонентов.
    • Запишите в журнал событий.
    • Доступ к очередям службы очереди сообщений.
    • Доступ к источникам данных ODBC, OleDb или Oracle.
  • Средний (web_mediumtrust.config) - указывает средний уровень безопасности доступа для кода, что означает, что, помимо ограничений высокого уровня доверия, приложение ASP.NET по умолчанию не может выполнять следующие действия:
    • Доступ к файлам вне каталога приложения.
    • Войдите в реестр.
    • Совершайте вызовы сети или веб-службы.
  • Низкий (web_lowtrust.config) - указывает низкий уровень безопасности доступа для кода, что означает, что, помимо ограничений среднего уровня доверия, приложение по умолчанию не может выполнять следующие действия:
    • Напишите в файловую систему.
    • Вызовите метод Assert.
  • Минимальный (web_minimaltrust.config) - указывает минимальный уровень безопасности доступа к коду, что означает, что приложение имеет только разрешения на выполнение.

Я бы посоветовал, если вы настроены на установку установщика, создайте его web.config в памяти, который пользователь может сохранить локально и FTP впоследствии.