SecurityException - Dapper sur l'hébergement partagé

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

Question

Pour mon projet actuel, j'utilise Dapper. Tout est parfait. Ensuite, je devais le déployer sur l'hébergement partagé. Le résultat peut être vu ici (copie YSOD):

Description: l'application a tenté d'effectuer une opération non autorisée par la stratégie de sécurité. Pour accorder à cette application l'autorisation requise, contactez votre administrateur système ou modifiez le niveau de confiance de l'application dans le fichier de configuration.

Détails des exceptions: System.Security.SecurityException: La demande de l'autorisation de type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' a échoué.

Trace de la pile

[SecurityException: demande de l'autorisation de type 'System.Security.Permissions.ReflectionPermission, mscorlib, version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089' a échoué.] System.Security.CodeAccessSecurityEngine.Check (demande d'objet, StackCrawlMark et stackMark) , Booléen isPermSet) +0
System.Security.CodeAccessSecurityEngine.Check (CodeAccessPermission, StackCrawlMark et stackMark) +31
System.Security.CodeAccessPermission.Demand () +46
System.Reflection.Emit.DynamicMethod.PerformSecurityCheck (propriétaire du type, StackCrawlMark & ​​stackMark, possibilité de masquage booléen) +9461551
System.Reflection.Emit.DynamicMethod..ctor (Nom de la chaîne, 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 source 1 collection) +327 System.Linq.Enumerable.ToList(IEnumerable 1) +58
Dapperx.SqlMapper.Query (IDbConnection cnn, chaîne SQL, paramètre objet, transaction IDbTransaction, tampon booléen, Nullable 1 commandTimeout, Nullable 1 type de commande) +199
...

Est-il possible de le résoudre (en .NET 4.0)? Pour autant que je comprenne ce que j'ai lu jusqu'à présent, le fournisseur doit autoriser certaines parties de la réflexion sur les services Internet (IIS) qui pourraient constituer un risque de sécurité pour eux ...

Réponse populaire

Reflection.Emit utilisé par Dapper n'est pas autorisé dans Medium Trust.

Vous devriez trouver un fournisseur d'hébergement offrant Full Trust. J'ai déjà utilisé discountasp.net .




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi