Я подозреваю, что ваш хостер использует ASP.NET в Medium Trust.Есть несколько вещей, чтобы попробовать.
Добавьте атрибут requirePermission="false"
к каждому из разделов конфигурации Elmah, объявленных в вашем web.config
, например:
<sectionGroup name="elmah">
<section name="security" type="Elmah.SecuritySectionHandler, Elmah"
requirePermission="false"/>
<section name="errorLog" type="Elmah.ErrorLogSectionHandler, Elmah"
requirePermission="false"/>
</sectionGroup>
Если это не работает, вы также можете попробовать переопределитьУровень доверия, добавив это значение к <system.web>
в вашем файле web.config
:
<trust level="Full"/>
Если это не сработает, вам может потребоваться связаться с вашим хостером и попросить его ослабить свою политику доверия.Тем не менее, если ваш сайт находится в общем пуле, маловероятно, что он будет это развлекать.
Обновление:
Об атрибуте requirePermission
: стандартная политика среднего доверияне разрешает частично доверенным абонентам доступ к настройкам файла конфигурации, даже в вашем собственном приложении.
Вы можете переопределить это для локальных настроек конфигурации вашего приложения, установив requirePermission="false"
.Это делается в объявлениях <section name="..." type="..." />
в вашем файле web.config
.Итак, когда вы установите:
<section name="errorLog" type="Elmah.ErrorLogSectionHandler, Elmah"
requirePermission="false"/
Эффективно, что вы говорите, пожалуйста, дайте Элме разрешение на чтение этого параметра:
<errorLog type="Elmah.VistaDBErrorLog, Elmah" connectionStringName="ElmahDB" />