azure-ad-graph-api - how - microsoft graph console
Herencia de las reglas sec violadas por el tipo: ''System.Net.Http.WebRequestHandler''. (5)
Estoy tratando de acceder a los datos de Active Directory a través de la API gráfica. Estoy obteniendo el siguiente error al ejecutar la aplicación.
Descripción: se produjo una excepción no controlada durante la ejecución de la solicitud web actual. Revise el seguimiento de la pila para obtener más información sobre el error y dónde se originó en el código.
Detalles de excepción: "System.TypeLoadException: reglas de seguridad de herencia infringidas por el tipo: ''System.Net.Http.WebRequestHandler''. Los tipos derivados deben coincidir con la accesibilidad de seguridad del tipo base o ser menos accesibles "
Error de fuente:
Se generó una excepción no controlada durante la ejecución de la solicitud web actual. La información sobre el origen y la ubicación de la excepción se puede identificar utilizando el seguimiento de la pila de excepciones a continuación.
Traza de la pila:
[TypeLoadException: Inheritance security rules violated by type: ''System.Net.Http.WebRequestHandler''. Derived types must either match the security accessibility of the base type or be less accessible.]
Microsoft.Owin.Security.OpenIdConnect.OpenIdConnectAuthenticationMiddleware.ResolveHttpMessageHandler(OpenIdConnectAuthenticationOptions options) +0
Microsoft.Owin.Security.OpenIdConnect.OpenIdConnectAuthenticationMiddleware..ctor(OwinMiddleware next, IAppBuilder app, OpenIdConnectAuthenticationOptions options) +996
lambda_method(Closure , OwinMiddleware , IAppBuilder , OpenIdConnectAuthenticationOptions ) +54
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) +0
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) +92
System.Delegate.DynamicInvokeImpl(Object[] args) +117
System.Delegate.DynamicInvoke(Object[] args) +12
Microsoft.Owin.Builder.AppBuilder.BuildInternal(Type signature) +236
Microsoft.Owin.Builder.AppBuilder.Build(Type returnType) +21
Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(Action`1 startup) +565
Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action`1 startup) +58
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint() +95
System.Threading.LazyInitializer.EnsureInitializedCore(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +115
System.Threading.LazyInitializer.EnsureInitialized(T& target, Boolean& initialized, Object& syncLock, Func`1 valueFactory) +72
Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication context) +96
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +523
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +176
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +364
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +303
[HttpException (0x80004005): Exception has been thrown by the target of an invocation.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +770
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +95
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +195
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1069.1
Como soy un principiante me sorprende el error. ¿Podría alguien por favor decirme qué se necesita hacer para superar este error?
Encontré la actualización de System.Het.Http
través de Nuget
corrige.
Esto me funcionó: System.Net.Http v4.1.0.0 parece tener algunos problemas. En web.config o app.config, apunte a la versión anterior (v4.0.0.0)
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
...
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.0.0.0" />
</dependentAssembly>
Tenga en cuenta que cuando instale un nuevo paquete NuGet no relacionado, los cambios de bindingRedirect se pueden sobrescribir, y debe establecer el enlace a 4.0.0.0 nuevamente.
He enfrentado el problema al trabajar con la aplicación web principal .net (.net framework). He intentado todo lo que he leído, pero solo la migración a .net 4.5.1 de .net 4.6.1 ayudó.
Parece que el error ahora se ha cerrado en GitHub ( https://github.com/dotnet/corefx/issues/11100 ) y se ha lanzado una nueva versión de System.Net.Http
.
Pude actualizar System.Net.Http
a la versión 4.3.1
con NuGet y eso resolvió el problema.
NuGet Package Manager
con la NuGet Package Manager
System.Net.Http
de 4.3.0
a 4.0.0
con Visual Studio NuGet Package Manager