Je suis confronté au problème suivant. J'ai un service web basé sur Service Stack que je veux avoir sur un hébergement partagé. Lorsque je le déploie et que j'essaie d'ouvrir une url, j'obtiens l'erreur suivante :
Exception de sécurité
Description : L'application a tenté d'effectuer une opération non autorisée par la politique de sécurité. Pour accorder à cette application l'autorisation l'autorisation requise, veuillez contacter votre administrateur système ou le niveau de confiance de l'application dans le fichier de configuration.
Détails de l'exception : System.Security.SecurityException : Demande d'autorisation du type 'System.Security.Permi permission de type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
Erreur à la source :
Une exception non gérée a été générée de la requête web en cours. Les informations relatives à l'origine et à l'emplacement de l l'exception peuvent être identifiées à l'aide de la trace de pile de l'exception ci-dessous.
Trace de pile :
[SecurityException : Demande de permission de type 'System.Security.Permissions.ReflectionPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' échoué]. System.Security.CodeAccessSecurityEngine.Check(Object demand, 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 type) +586
ServiceStack.Text.ReflectionExtensions.GetConstructorMethod(Type type) +68 ServiceStack.Text.ReflectionExtensions.CreateInstance(Type type) +8
ServiceStack.ServiceHost.ServiceController.RegisterNServiceExecutor(Type requestType, Type serviceType, ITypeFactory serviceFactoryFn) +123
ServiceStack.ServiceHost.ServiceController.RegisterNService(ITypeFactory serviceFactoryFn, Type 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
Il semble donc que ServiceStack ne puisse pas effectuer la réaction. J'ai également essayé de
<securityPolicy>
<trustLevel name="Full" policyFile="internal"/>
</securityPolicy>
à web.config mais le résultat de l'hébergement me renvoie une erreur avec cette ligne dans web.config. Est-ce que quelqu'un a déjà été confronté à ce problème ? Une idée pour le résoudre ?