Не удается применить System.Web.Extensions к списку PartialTrustVisibleAssemblies

В файле web.config приложения webforms .net 4.5 я установил следующее:

<trust legacyCasModel="true" level="Full" />

потому что это работа Microsoft, позволяющая устранить ошибку в средстве просмотра отчетов asp.net, из-за которой большие отчеты генерируются гораздо дольше, чем в предыдущих версиях.net (3.5 и более ранних). К сожалению, включение устаревшей CasModel вызвало ошибку ниже. Как показывает ошибка, я много раз пытался применить исключение в файле web.config моего сайта, например:

<system.web>
        <partialTrustVisibleAssemblies>
            <add assemblyName="System.Web.Extensions" version="4.0.0" publicKey="0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9" />
        </partialTrustVisibleAssemblies>
</system.web>

Но ошибка все еще происходит. Я также попытался применить этот параметр к.net 4 web.config и указать, что эта сборка имеет полное доверие, но она все равно не будет работать. Я прочитал тонну документации, относящейся к этой проблеме, и я не могу найти какой-либо другой способ решения этой проблемы (кроме удаления этой сборки в моем проекте или внесения других существенных изменений в мое веб-приложение). Любые предложения о том, как я могу исправить или решить эту проблему, будет принята с благодарностью, спасибо.

Ошибка сервера в приложении '/' Попытка прозрачного для безопасности метода "Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode.Start()" для доступа к критичному для безопасности методу "System.Web.UI.ScriptManager.get_ScriptResourceMapping()" завершилась неудачно. Сборка "System.Web.Extensions, версия =4.0.0.0, Culture= нейтральная, PublicKeyToken=31bf3856ad364e35" является условно APTCA-сборкой, которая не включена в текущем домене приложений. Чтобы включить эту сборку, которая будет использоваться путем частичного доверия или прозрачного защитного кода, пожалуйста, добавьте сборочные имя "System.Web.Extensions, PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9" в список на PartialTrustVisibleAssemblies при создании AppDomain. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде. Сведения об исключении: System.MethodAccessException: попытка прозрачного метода безопасности "Microsoft.ScriptManager.MSAjaxv45.PreApplicationStartCode.Start()" для доступа к критическому методу безопасности "System.Web.UI.ScriptManager.get_ScriptResourceMapping()" завершилась неудачно. Сборка "System.Web.Extensions, версия =4.0.0.0, Culture= нейтральная, PublicKeyToken=31bf3856ad364e35" является условно APTCA-сборкой, которая не включена в текущем домене приложений. Чтобы включить эту сборку, которая будет использоваться путем частичного доверия или прозрачного защитного кода, пожалуйста, добавьте сборочные имя "System.Web.Extensions, PublicKey=0024000004800000940000000602000000240000525341310004000001000100B5FC90E7027F67871E773A8FDE8938C81DD402BA65B9201D60593E96C492651E889CC13F1415EBB53FAC1131AE0BD333C5EE6021672D9718EA31A8AEBD0DA0072F25D87DBA6FC90FFD598ED4DA35E44C398C454307E8E33B8426143DAEC9F596836F97C8F74750E5975C64E2189F45DEF46B2A2B1247ADC3652BF5C308055DA9" в список на PartialTrustVisibleAssemblies при создании AppDomain.

2 ответа

Решение

@Sachin, спасибо за ваш ответ, однако мне нужны эти сборки для этого проекта, чтобы не решить эту проблему. Я решил эту проблему некоторое время назад. Я думаю, что эта ошибка произошла при попытке некоторых функций аутентификации в приложении. Я решил проблему, установив функцию отчета для открытия в новом пуле приложений, чтобы включение устаревшей модели CAS влияло только на новый пул приложений и, следовательно, не влияло на другие функции аутентификации в приложении.

Попробуйте удалить "Microsoft.ScriptManager.MSAjax.dll" и "Microsoft.ScriptManager.WebForms.dll" из ссылок (если они не используются).

Другие вопросы по тегам