SecurityException - Dapper en alojamiento compartido

.net-4.0 asp.net dapper securityexception shared-hosting

Pregunta

Para mi proyecto actual, uso Dapper. Todo perfecto. Entonces necesité implementarlo en el alojamiento compartido. El resultado se puede ver aquí (YSOD copiado):

Descripción: la aplicación intentó realizar una operación no permitida por la política de seguridad. Para otorgar a esta aplicación el permiso requerido, comuníquese con el administrador del sistema o cambie el nivel de confianza de la aplicación en el archivo de configuración.

Detalles de la excepción: System.Security.SecurityException: solicitud del permiso de tipo 'System.Security.Permissions.ReflectionPermission, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' failed.

Seguimiento de pila

[SecurityException: solicitud de permiso de tipo 'System.Security.Permissions.ReflectionPermission, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' failed.] System.Security.CodeAccessSecurityEngine.Check (Object demand, StackCrawlMark & ​​stackMark , Boolean isPermSet) +0
System.Security.CodeAccessSecurityEngine.Check (CodeAccessPermission cap, StackCrawlMark y stackMark) +31
System.Security.CodeAccessPermission.Demand () +46
System.Reflection.Emit.DynamicMethod.PerformSecurityCheck (Tipo propietario, StackCrawlMark & ​​stackMark, Boolean skipVisibility) +9461551
System.Reflection.Emit.DynamicMethod..ctor (String name, Type returnType, Type [] parameterTypes, Type owner, Boolean skipVisibility) +40 Dapperx.SqlMapper.CreateParamInfoGenerator (Identity identity) +537 Dapperx.SqlMapper.GetCacheInfo (Identity identity) +376 Dapperx.d__13 1.MoveNext() +644
System.Collections.Generic.List
1..ctor ( 1 collection) +327 System.Linq.Enumerable.ToList(IEnumerable IEnumerable 1 collection) +327 System.Linq.Enumerable.ToList(IEnumerable fuente 1 collection) +327 System.Linq.Enumerable.ToList(IEnumerable 1) +58
Dapperx.SqlMapper.Query (IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffer, Nullable 1 commandTimeout, Nullable 1 commandType) +199
...

¿Hay alguna forma de resolverlo (en .NET 4.0)? Por lo que entiendo lo que he leído hasta ahora, el proveedor tiene que permitir que algunas partes de la reflexión para el IIS que podría ser un riesgo de seguridad para ellos ...

Respuesta popular

Reflection.Emit que es utilizado por Dapper no está permitido en Medium Trust.

Debería encontrar un proveedor de hosting que ofrezca plena confianza. discountasp.net es uno que he usado antes.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow