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.

abcplex
  • 71
  • 2

2 Answers2

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

Jamie Howarth
  • 3,273
  • 3
  • 20
  • 26
  • I think this is very frustrating that we are not able to know that which methods are available and which are not? – abcplex Jan 12 '11 at 05:54
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.