具有共享主机的ServiceStack:SecurityException和ReflectionPermission

时间:2016-04-30 19:05:54

标签: asp.net web-services security

我面临以下问题。我有基于服务堆栈的Web服务,我想要共享主机。在那里部署并尝试打开网址时,我收到了以下错误:

  

安全例外

     

描述:应用程序尝试不执行操作   安全政策允许。授予此应用程序   必要的权限请联系您的系统管理员或更改   应用程序在配置文件中的信任级别。

     

异常详细信息:System.Security.SecurityException:请求   类型' System.Security.Permissions.ReflectionPermission的权限,   mscorlib,版本= 4.0.0.0,文化=中性,   公钥= b77a5c561934e089'失败。

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[SecurityException:请求类型的权限   ' System.Security.Permissions.ReflectionPermission,mscorlib,   Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'   失败。] System.Security.CodeAccessSecurityEngine.Check(Object   需求,StackCrawlMark& stackMark,Boolean isPermSet)+0
  System.Security.CodeAccessSecurityEngine.Check(的CodeAccessPermission   cap,StackCrawlMark& stackMark)+34
  System.Security.CodeAccessPermission.Demand()+46
  System.Reflection.Emit.DynamicMethod.PerformSecurityCheck(Module m,   StackCrawlMark&安培; stackMark,Boolean skipVisibility)+243
  System.Reflection.Emit.DynamicMethod..ctor(String name,Type   returnType,Type [] parameterTypes,Module m,Boolean skipVisibility)   +48 ServiceStack.Text.ReflectionExtensions.GetConstructorMethodToCache(Type   型号)+586
  ServiceStack.Text.ReflectionExtensions.GetConstructorMethod(Type type)   +68 ServiceStack.Text.ReflectionExtensions.CreateInstance(Type type)+8
  ServiceStack.ServiceHost.ServiceController.RegisterNServiceExecutor(类型   requestType,类型serviceType,ITypeFactory serviceFactoryFn)+123
  ServiceStack.ServiceHost.ServiceController.RegisterNService(ITypeFactory   serviceFactoryFn,输入serviceType)+287
  ServiceStack.ServiceHost.ServiceController.Register(ITypeFactory   serviceFactoryFn)+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>
&#13;
&#13;
&#13;

到web.config但是由于结果托管在web.config中返回了这行错误。 有没有人遇到过这样的问题?任何想法如何解决?

1 个答案:

答案 0 :(得分:1)

SecurityException是因为GoDaddy doesn't support full trust ASP.NET hosting。您可以尝试请求他们的支持为您的网站启用它,否则您将需要使用其他托管服务提供商。