Вопрос

У меня возникла проблема с запуском Subsonic в medium trust, и я не знаю, не ошибаюсь ли я в запросе - если есть какая-то часть subsonic 3.0.3, которой не нравится medium trust, может кто-нибудь мне сказать?Кто-то другой опубликовал нечто подобное некоторое время назад, и не было реального ответа о том, существовало это или нет (ошибка).Роб сказал, что это было протестировано, в то время как кто-то другой сказал, что им все еще нужно исправить ошибку (Дозвуковой 3.0 - Средний уровень доверия)

я использую запрос, который выглядит следующим образом:

List<Data.Blog> objBlogPosts = ((from blog in db.Blogs
                                            orderby blog.blogID descending 
                                             select blog).Take(10).ToList());

и ошибка, которую я получаю, это:

System.MethodAccessException: 
System.Runtime.CompilerServices.StrongBox`1..ctor(System.__Canon) --->
System.Security.SecurityException: Request failed.
at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Assembly asm, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
at System.Security.CodeAccessSecurityEngine.ThrowSecurityException(Object assemblyOrString, PermissionSet granted, PermissionSet refused, RuntimeMethodHandle rmh, SecurityAction action, Object demand, IPermission permThatFailed)
at System.Security.CodeAccessSecurityEngine.CheckSetHelper(PermissionSet grants, PermissionSet refused, PermissionSet demands, RuntimeMethodHandle rmh, Object assemblyOrString, SecurityAction action, Boolean throwException)
at System.Security.PermissionSetTriple.CheckSetDemand(PermissionSet demandSet, PermissionSet& alteredDemandset, RuntimeMethodHandle rmh)
at System.Security.PermissionListSet.CheckSetDemand(PermissionSet pset, RuntimeMethodHandle rmh)
at System.Security.PermissionListSet.DemandFlagsOrGrantSet(Int32 flags, PermissionSet grantSet)
at System.Threading.CompressedStack.DemandFlagsOrGrantSet(Int32 flags, PermissionSet grantSet)
at System.Security.CodeAccessSecurityEngine.ReflectionTargetDemandHelper(Int32 permission, PermissionSet targetGrant, CompressedStack securityContext)
at System.Security.CodeAccessSecurityEngine.ReflectionTargetDemandHelper(Int32 permission, PermissionSet targetGrant)
The action that failed was:
Demand
The type of the first permission that failed was:
System.Security.PermissionSet
The demand was for:
<PermissionSet class="System.Security.PermissionSet"
version="1"
Unrestricted="true"/>  

Заранее благодарю.Мне нравятся новые subsonic, lambda и т.д., просто возникли проблемы с развертыванием на моем первом общем хостинге: (

приветствия Даг

Это было полезно?

Решение

Subsonic НЕ БУДЕТ РАБОТАТЬ в сценариях общего хостинга (ну, в любом случае, в тех, которые имеют среднее доверие).Проблема в этой строке...

Func<IQueryable> fn = efn.Compile();

Возможно, дождаться версии 3.1 или перейти на 2.0, поскольку дозвуковая версия на данный момент абсолютно не подходит.Это была отличная идея, но печально, что разработчики neck beards не сообщают своим пользователям об этой проблеме.

По крайней мере, они научили меня включать

<system.web>
    <trust level="Medium" />
</system.web>

в моем web.config для любой разработки для сайтов с общим хостингом.

Другие советы

Редактировать - Ошибка теперь исправлена, версия 3.1 будет поддерживать medium trust, когда она будет выпущена, и если вы возьмете последнюю версию исходного кода с github и соберете его самостоятельно, вы должны обнаружить, что теперь он работает в medium trust.

Похоже, ты столкнешься с это ошибка.Если вы можете добавить в отчет об ошибке дополнительные сведения, такие как минимально возможный тестовый пример, это было бы полезно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top