Pergunta

Eu estou tendo um problema com o funcionamento de Subsonic em confiança média e não sei se eu estou consultando errado - se houver alguma parte do subsônico 3.0.3 que não gosta de confiança média alguém pode me dizer? Alguém postou algo semelhante um tempo atrás e não houve resposta real sobre se existia ou não (o erro). Rob disse que tinha sido testada, enquanto outra pessoa disse que eles ainda tinham de bug ( SubSonic 3.0 - Medium Confiança )

Eu estou usando uma consulta parecida com esta:

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

e o erro que estou recebendo é:

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

Obrigado antecipadamente. Amar o novo subsônico e do lambda etc, apenas tendo problemas de implantação para o meu host compartilhado primeira: (

aplausos Doug

Foi útil?

Solução

Subsonic não vai funcionar em cenários de hospedagem compartilhada (bem os que têm confiança média de qualquer maneira). O problema é esta linha ...

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

Talvez esperar por 3.1 ou ir para 2.0 como subsônico não é absolutamente uma opção no momento. Foi uma grande idéia, mas é triste as barbas do pescoço não dizem aos seus usuários sobre esta questão.

Pelo menos eles me ensinaram a incluir

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

no meu web.config para qualquer desenvolvimento para sites de hospedagem compartilhada.

Outras dicas

Edit -. O erro foi reparado, versão 3.1 irá apoiar confiança média quando for lançado e se você puxar a versão mais recente da fonte de github e construí-lo você deve achar que ele funciona em confiança média agora

Parece que você está vindo contra este bug . Se você pode adicionar mais alguns detalhes para o relatório de erros, tais como o menor caso de teste possível que seria útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top