2011-01-11 18 views

Antwort

3

GetMethods und Activator.CreateInstance sollte IIRC zulässig sein, während AssemblyName und Assembly.Version nicht zulässig sind. Ich habe die ersten beiden Methoden in Umgebungen mit mittlerem Vertrauen verwendet, und die letzteren beiden haben nicht funktioniert. Der beste Weg ist nur durch Versuch und Irrtum wirklich. Auch könnte helfen, Reflector zu verwenden, wenn Sie stecken bleiben, um herauszufinden warum stuff ist nicht erlaubt (normalerweise [PrincipalPermission (SecurityAction.Demand, AspNetHostingPermission.High/Full)] Attribut auf einer Klasse irgendwo höher auf der Aufrufliste) .

HTH,

Benjamin

+0

Ich denke, das ist sehr frustrierend, dass wir nicht wissen, welche Methoden verfügbar sind und welche nicht? – abcplex

3

Tools wie permview (.NET 1.1 nur) oder permcalc (.NET 2.0) kann Ihnen helfen, erzählen über die Sicherheitsberechtigung Ihre Montage verlangt oder Baugruppen erfordern; Es ist ein wenig einfacher als die Analyse von Trial-and-Error-Bases, weil Sie möglicherweise vergessen, einen Codepfad manuell auszuführen, der eine sicherheitsrelevante Anforderung zu erfüllen versucht.

Leider enthält die MSDN-Dokumentation nicht explizit die Sicherheitsanforderungen für jede Methode oder Eigenschaft aufrufen.

Verwandte Themen