2

J'ai un problème avec Subsonic en mode de confiance moyenne et je ne sais pas si j'interroge mal - s'il y a une partie de Subsonic 3.0.3 qui n'aime pas la confiance moyenne Quelqu'un me dit? Quelqu'un d'autre a posté quelque chose de similaire il y a un moment et il n'y avait pas de vraie réponse à savoir si ça existait ou non (le bug). Rob a dit qu'il avait été testé, alors que quelqu'un d'autre dit qu'ils avaient encore bug (SubSonic 3.0 - Medium Trust)Subsonic 3.0 Medium Trust Problème

J'utilise une requête qui ressemble à ceci:

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

et l'erreur que je reçois est:

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"/> 

Merci d'avance. Aimer la nouvelle subsonique et de lambda, etc., tout ayant des problèmes déployer à mon premier hôte partagé :(

acclamations Doug

+0

Je suis confronté aux mêmes problèmes lors du déploiement d'une confiance moyenne. Y a-t-il une solution disponible pour cela? Le bug a été posté il y a plus de 3 mois, je ne peux pas croire que personne n'a jamais publié SubSonic 3.0 à une confiance moyenne pour le moment. – Radu094

Répondre

1

Subsonic ne fonctionnera pas dans les scénarios d'hébergement partagé (bien ceux qui ont une confiance moyenne de toute façon). Le problème est cette ligne ...

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

Peut-être attendre pour 3.1 ou aller à 2.0 comme subsonique est absolument pas une option pour le moment. C'était une bonne idée, mais il est triste que les barbes du cou ne disent pas à leurs utilisateurs à ce sujet.

Au moins, ils me ont appris à inclure

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

dans mon web.config pour tout développement pour les sites d'hébergement mutualisé.

+0

Aujourd'hui, il a été déclaré que le nouveau subsonic 3.1 fonctionnerait bien avec une confiance moyenne - je pense qu'ils ont résolu tous les problèmes. C'est excitant car j'ai attendu pour mettre à jour mes projets jusqu'à ce que cela soit fait – Doug

+1

Excellentes nouvelles! avez vous un lien? Je savais que c'était un problème connu, mais pas que c'est un correctif confirmé pour 3.1. – Brett

1

Edition - Le bug est maintenant corrigé, version 3.1 soutiendra la confiance moyenne quand il est libéré et si vous tirez la dernière version de la source de github et la construisez vous-même, vous devriez trouver que cela fonctionne dans la confiance moyenne maintenant

On dirait que vous venez de lutter contre this bug Si vous pouvez ajouter plus de détails au bug rapport comme le plus petit test possible qui pourrait être utile

+0

Je vais essayer de poster un script sql et un projet de démo ce soir mais en attendant il doit y avoir quelqu'un qui l'a fait fonctionner - comment? – Doug