Question

J'ai un problème avec l'exécution de Subsonic dans une confiance moyenne et je ne sais pas si j'interroge mal la question. S'il y a une partie de Subsonic 3.0.3 qui n'aime pas la confiance moyenne, quelqu'un peut-il me dire? Quelqu'un d'autre a posté quelque chose de similaire il y a quelque temps et il n'y avait pas de vraie réponse sur le fait qu'il existe ou non (le bogue). Rob a déclaré que cela avait été testé, alors que quelqu'un d'autre a déclaré qu'il lui restait encore un bogue ( SubSonic 3.0 - Medium Trust )

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 les nouveaux subsoniques et lambda, etc., ayant juste des problèmes de déploiement sur mon premier hôte partagé: (

acclamations Doug

Était-ce utile?

La solution

Subsonic NE FONCTIONNE 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 3.1 ou aller à 2.0 car le subsonique n’est absolument pas une option pour le moment. C'était une bonne idée, mais c'est dommage que la barbe autour du cou ne parle pas de ce problème à ses utilisateurs.

Au moins, ils m'ont appris à inclure

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

dans mon Web.config pour tout développement de sites d'hébergement partagé.

Autres conseils

Éditer - Le bogue est maintenant corrigé, la version 3.1 prend en charge la confiance moyenne lors de sa publication. Si vous extrayez la dernière version du source à partir de github et la construisez vous-même, vous constaterez que cela fonctionne maintenant dans une confiance moyenne.

On dirait que vous vous heurtez au bogue . . Si vous pouvez ajouter quelques détails supplémentaires au rapport de bogue, tels que le plus petit scénario de test possible, cela pourrait être utile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top