Subsonic 3.0 Problema de confianza media
-
08-07-2019 - |
Pregunta
Tengo un problema con la ejecución de Subsonic en la confianza media y no sé si estoy haciendo una consulta incorrecta; si hay alguna parte de 3.0.3 subsónica que no le gusta la confianza media, ¿alguien puede decirme? Alguien más publicó algo similar hace un tiempo y no hubo una respuesta real sobre si existía o no (el error). Rob dijo que había sido probado, mientras que otra persona dijo que todavía tenían que fallar ( SubSonic 3.0 - Medium Trust )
Estoy usando una consulta que se ve así:
List<Data.Blog> objBlogPosts = ((from blog in db.Blogs
orderby blog.blogID descending
select blog).Take(10).ToList());
y el error que obtengo es:
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"/>
Gracias de antemano. Me encanta el nuevo subsónico y el lambda, etc., solo tengo problemas para implementar en mi primer host compartido :(
aplausos Doug
Solución
Subsonic NO FUNCIONARÁ en escenarios de alojamiento compartido (bueno, los que tienen una confianza media de todos modos). El problema es esta línea ...
Func<IQueryable> fn = efn.Compile();
Tal vez espere 3.1 o vaya a 2.0 ya que subsónico no es una opción en este momento. Fue una gran idea, pero es triste que las barbas del cuello no les digan a sus usuarios sobre este problema.
Al menos me enseñaron a incluir
<system.web>
<trust level="Medium" />
</system.web>
en mi web.config para cualquier desarrollo de sitios de alojamiento compartido.
Otros consejos
Editar: el error ahora está solucionado, la versión 3.1 admitirá la confianza media cuando se lance y si extrae la última versión de la fuente de github y la construye usted mismo, debería encontrar que ahora funciona en la confianza media.
Parece que te enfrentas a este error . Si puede agregar más detalles al informe de errores, como el caso de prueba más pequeño posible, sería útil.