【发布时间】:2016-08-25 20:03:45
【问题描述】:
我面临以下问题。我有我希望在共享主机上拥有的基于服务堆栈的网络服务。当在那里部署并尝试打开一个 url 时,我收到以下错误:
安全异常
描述:应用程序试图执行的操作不是 安全策略允许的。授予此申请 所需权限请联系您的系统管理员或更改 应用程序在配置文件中的信任级别。
异常详细信息:System.Security.SecurityException:请求 'System.Security.Permissions.ReflectionPermission 类型的权限, mscorlib,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089' 失败。
来源错误:
在执行过程中产生了一个未处理的异常 当前的网络请求。有关原产地和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
堆栈跟踪:
[SecurityException: 请求类型的权限 'System.Security.Permissions.ReflectionPermission, mscorlib, 版本=4.0.0.0,文化=中性,PublicKeyToken=b77a5c561934e089' 失败。] System.Security.CodeAccessSecurityEngine.Check(对象 需求, StackCrawlMark& stackMark, Boolean isPermSet) +0
System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission 上限、StackCrawlMark 和 stackMark)+34
System.Security.CodeAccessPermission.Demand() +46
System.Reflection.Emit.DynamicMethod.PerformSecurityCheck(模块 m, StackCrawlMark 和 stackMark,布尔型 skipVisibility)+243
System.Reflection.Emit.DynamicMethod..ctor(字符串名称,类型 returnType, Type[] parameterTypes, Module m, Boolean skipVisibility) +48 ServiceStack.Text.ReflectionExtensions.GetConstructorMethodToCache(类型 类型)+586
ServiceStack.Text.ReflectionExtensions.GetConstructorMethod(类型类型) +68 ServiceStack.Text.ReflectionExtensions.CreateInstance(类型类型)+8
ServiceStack.ServiceHost.ServiceController.RegisterNServiceExecutor(类型 requestType, 类型 serviceType, ITypeFactory serviceFactoryFn) +123
ServiceStack.ServiceHost.ServiceController.RegisterNService(ITypeFactory serviceFactoryFn,类型 serviceType) +287
ServiceStack.ServiceHost.ServiceController.Register(ITypeFactory 服务工厂Fn) +96
ServiceStack.ServiceHost.ServiceManager.Init() +50
ServiceStack.WebHost.Endpoints.AppHostBase.Init() +43
DarkMindFx.Global.Application_Start(Object sender, EventArgs e) +571
所以看起来 ServiceStack 无法执行反射。 我也试过了
<securityPolicy>
<trustLevel name="Full" policyFile="internal"/>
</securityPolicy>
到 web.config 但结果托管在 web.config 中向我返回了此行的错误。 有没有人遇到过这样的问题?任何想法如何解决它?
【问题讨论】:
-
好的,我已经知道如何让它工作了。看起来问题出在 ServiceStack 中——首先我有 4.0 版,但后来删除并安装了 3.9.71。似乎我没有正确地做到这一点,并且我的项目中存在某种库和包的混合。所以当我从头开始实现一个网络应用程序时,一切都变成了彩虹和独角兽。
标签: asp.net web-services security