2

我在以中等信任度运行 Subsonic 时遇到问题,不知道我是否在查询错误 - 如果 subsonic 3.0.3 的某些部分不喜欢中等信任度,有人可以告诉我吗?其他人不久前发布了类似的内容,但对于它是否存在(错误)没有真正的回复。Rob 说它已经过测试,而其他人说他们仍然需要 bug ( SubSonic 3.0 - Medium Trust )

我正在使用如下所示的查询:

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

我得到的错误是:

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

提前致谢。喜欢新的亚音速和 lambda 等,只是在部署到我的第一个共享主机时遇到问题:(

干杯道格

4

2 回答 2

1

编辑 - 该错误现已修复,3.1 版在发布时将支持中等信任,如果您从 github 拉取最新版本的源并自己构建它,您应该会发现它现在可以在中等信任下工作。

看起来你遇到了这个错误。如果您可以在错误报告中添加更多详细信息,例如可能有用的最小测试用例。

于 2009-09-17T13:40:36.863 回答
1

亚音速不会在共享托管场景中工作(以及那些具有中等信任度的场景)。问题是这条线...

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

也许等待 3.1 或转到 2.0,因为亚音速目前绝对不是一个选择。这是一个好主意,但很遗憾脖子上的胡须没有告诉他们的用户这个问题。

至少他们教我包括

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

在我的 web.config 中用于共享托管站点的任何开发。

于 2010-07-09T19:57:23.850 回答