What Reflection Permission are allowed in Medium Trust?
Asked Answered
L

2

7

I want to ask that which methods/classes are allowed in Medium Trust. For example, whether these methods are allowed?

GetProperties, GetMethods, Activator.CreateInstance, Assembly.Version, AssemblyName.Name

Please tell me which methods are allowed.

Lafayette answered 11/1, 2011 at 10:56 Comment(0)
B
3

GetMethods and Activator.CreateInstance should be allowed IIRC, whilst AssemblyName and Assembly.Version aren't. I've used the first two methods in Medium-Trust environments and the latter two didn't work. Best way is just through trial-and-error really. Also might help by using Reflector when you do get stuck, to find out why stuff isn't allowed (normally [PrincipalPermission(SecurityAction.Demand, AspNetHostingPermission.High/Full)] attribute on a class somewhere higher up the call stack).

HTH,

Benjamin

Bodega answered 11/1, 2011 at 12:29 Comment(1)
I think this is very frustrating that we are not able to know that which methods are available and which are not?Lafayette
T
3

Tools like permview (.NET 1.1 only) or permcalc (.NET 2.0) can help tell you about the security permission demands your assembly or assemblies will require; it's a little easier than doing trial-and-error bases analysis because you might forget to manually exercise a code path that tries to do a security-related demand.

Unfortunately the MSDN documentation doesn't explicitly list the security requirements of every method or property call.

Teel answered 11/1, 2011 at 16:38 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.