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

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top