Subsónico Emissão 3,0 confiança média
-
08-07-2019 - |
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
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.