问题
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.
回答1:
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
回答2:
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.
来源:https://stackoverflow.com/questions/4656842/what-reflection-permission-are-allowed-in-medium-trust