test microsoft how developer b2c azure-ad-graph-api

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