WebAPI OData 5.0 Bêta - Accès GlobalConfiguration jette Erreur de Sécurité
J'ai récemment installé la version préliminaire de la WebApi OData 5.0 cadre à jouer avec le nouveau $d'accroître le soutien. Tout construit d'accord, mais j'ai une drôle d'exception sur App_Start.
Attempt by security transparent method
'System.Web.Http.GlobalConfiguration.get_Configuration()'
to access security critical type 'System.Web.Http.HttpConfiguration' failed.
Source De L'Erreur:
Line 12: protected void Application_Start()
Line 13: {
Line 14: WebApiConfig.Register(GlobalConfiguration.Configuration); //<--
Line 15: }
Trace De La Pile:
[TypeAccessException: Attempt by security transparent method 'System.Web.Http.GlobalConfiguration.get_Configuration()' to access
security critical type 'System.Web.Http.HttpConfiguration' failed.]
System.Web.Http.GlobalConfiguration.get_Configuration() +0
API.WebApiApplication.Application_Start() in Global.asax.cs:14
[HttpException (0x80004005): Attempt by security transparent method 'System.Web.Http.GlobalConfiguration.get_Configuration()' to access
security critical type 'System.Web.Http.HttpConfiguration' failed.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +12863325
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +175
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +304
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +404
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +475
[HttpException (0x80004005): Attempt by security transparent method 'System.Web.Http.GlobalConfiguration.get_Configuration()' to access
security critical type 'System.Web.Http.HttpConfiguration' failed.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12880068
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12721257
Google révèle très peu.
Avez-vous trouvé une solution à ce problème?
OriginalL'auteur Jason Wicker | 2013-08-21
Vous devez vous connecter pour publier un commentaire.
Exécuter les commandes suivantes dans la Console du gestionnaire de Package, dans l'ordre indiqué:
Maintenant, appliquer les modifications suivantes sur le web.config:
Dans le Web.config de votre projet, de la valeur de mise à jour de l'application configuration des pages web:version 3.0.0.0
En vertu de la section de l'exécution dans le web.config, vérifier la version de chaque assemblée configurée et mise à jour pour la version de l'assemblée ajouté à votre projet. Voici la configuration mise à jour de mon site web.config:
<exécution>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity nom="le Système de.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" nouvelleversion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity nom="le Système de.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-5.0.0.0" nouvelleversion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity nom="le Système de.Web.Les pages web" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" nouvelleversion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" nouvelleversion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.3.0.0" nouvelleversion="1.3.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity nom="le Système de.Web.Http", publicKeyToken="31bf3856ad364e35" culture="neutre" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" nouvelleversion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity nom="le Système de.Net.Http.Mise en forme" publicKeyToken="31bf3856ad364e35" culture="neutre" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" nouvelleversion="5.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Ouvrir le site web.config de Vue sur le dossier. Il y a trois choses à être mis à jour ici:
Sous configSections, mettre à jour les versions du Rasoir assemblées 3.0.0.0.
Version mise à jour de l'hôte dans le système.web.les pages web.rasoir section, version mise à jour du Système.Web.Mvc.MvcWebRazorHostFactory comme 3.0.0.0.
Il y a quelques numéros de version mentionnée en vertu de la section pages de Système.web. La mise à jour de leur version 5.0.0.0
Si vous avez des API Web Pages d'Aide installé, vérifiez ci-dessus configurations d'assemblage.
Merci homme vous sauver ma journée.excellent 😉
OriginalL'auteur S. Ravi Kiran
J'ai eu ce même message d'erreur. J'ai juste modifié Ravi de répondre un peu et a constaté que la mise à jour de la WebApi paquet afin de mise à jour/installation WebApi.OData 5.0.0-rc1 paquet suffisamment bien fonctionné pour moi. J'ai juste couru au gestionnaire de paquets:
J'imagine que les versions préliminaires de WebApi.OData paquet a une certaine dépendance avec une version plus récente de WebApi package Nuget ne parvient pas à inspecter comme une dépendance. Encore une fois, je suis techniquement un newbie avec WebApi OData et ne savent pas beaucoup sur les paquets encore, mais, oui, je peux exécuter le projet avec $développez et $sélectionnez la fonctionnalité et aucun des GlobalConfiguration erreur. 🙂
OriginalL'auteur iamnobody
Tout ce que vous devez faire est d'exécuter la commande "update-package Microsoft.AspNet.WebApi" dans le Gestionnaire de paquets de la Console pour le VS solution
OriginalL'auteur shruti gupta
Je ne suis pas sûr de ce que la raison exacte de ce serait, mais en général, je vois ce message d'erreur lorsque l'un des packages nuget est une ancienne version (non pré-version). Pourriez-vous essayer de mettre à niveau tous vos packages nuget et de voir si cela va loin.
OriginalL'auteur RaghuRam Nadiminti