Frage

Ich muss sagen, dass so weit, habe ich wahrscheinlich in die gerade verflixtes Glück ich habe noch nie mit einer Website verbunden ist, über die Probleme kommen in mittlerer Vertrauenswürdigkeit ausgeführt wird. Ich habe immer nur Intranet-Anwendungen entwickelt oder passiert Verwendung eines Hosting-Unternehmen haben, die in voller Vertrauen läuft. Aber der Wirt frage ich habe nach einem aktuellen Projekt zu verwenden, läuft mit mittlerer Vertrauenswürdigkeit so versuche ich, meine app dies zum Laufen zu bekommen. Ein paar Fragen - Ich entwickle auf Windows XP. IIS kann dort für mittleres Vertrauen (einfacher zu debuggen) konfiguriert werden und / oder ist es eine web.config Einstellung? Es gibt eine Fülle von Informationen zu diesem Thema und die Lernkurve ist steil.

Zweitens nach vielen Hantieren und Code zu entfernen, ich glaube, diese Linie einen Berechtigungsfehler verursacht:

For Each Fieldinfo Wie Fieldinfo In Type.GetFields (BindingFlags.Instance Oder BindingFlags.NonPublic Oder BindingFlags.Public)

Kann jemand klärt dies ein möglicher Kandidat ist, esp. dass NonPublic Flagge? Dies ist copy & klebte Code (Coding Horror das Risiko dieser hervorgehoben), so habe ich noch nie wirklich darüber nachgedacht. Ich nehme an, die Schleife durch jedes Feld ist sowohl im Objekt öffentlichen und nicht-öffentlichen Bereiche - und ich habe gelesen, dass geschützte Felder auf mittleres Vertrauen mit Reflektion verboten

.

Cheers, Rob.

War es hilfreich?

Lösung

Es tut uns Leid, Spiegelung mit NonPublic entspricht voll Vertrauen.

Wenn irgendwie habe ich nicht volles Vertrauen haben, aber hatte NonPublic Reflexion, ich, dass meine eigenen Code Vertrauensebene (beschreibbar Strings, usw.) in wechselnden nutzen könnten.

Andere Tipps

Ja, kann eine Website auf XP konfiguriert wird in mittlerer Vertrauenswürdigkeit ausgeführt werden:

Im Abschnitt Folgendes hinzu:

<!-- Case is important: it's Medium, not medium -->
<trust level="Medium"/>

Und du bist es.

Was Sie gut finden kann, ist, dass die meisten Rechner laufen ihre Websites in einem leicht „Medium“ Vertrauen Einstellung erhöht, mit einigen zusätzlichen Rechte jenseits der Standard -. Ihre Techies Lage sein sollten, um Ihnen zu sagen, welche Unterschiede sie haben, wenn eine

Wenn Sie einen Blick in:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\web_mediumtrust.config

sehen Sie die Standardeinstellungen sehen, die angewendet werden.

Reflektionen eines der wichtigsten Dinge, die in Medium Vertrauen beschränkt ist - von den Bemerkungen über das GetFields Seite:

  

Wenn das angeforderte Feld nicht-öffentlich ist und der Anrufer nicht über Reflectionnichtöffentlichen außerhalb der aktuellen Montag Objekte zu reflektieren, diese Methode gibt einen NULL-Verweis (Nothing in Visual Basic).

Da dies hat das Potential null zurückkehren sollten Sie wahrscheinlich für null werden überprüfen, bevor Sie durch sie beginnen laufen oder die Überprüfung, dass Fieldinfo ist nicht null / nichts, bevor es zu benutzen.

Ich werde das Flag als geschlossen, wie niemand beantwortet hat und auch war es nur allzu problematisch erweist sich, um zu versuchen und erneut Code. Das Programm ist nicht schlecht geschrieben, sondern nutzt Reflexion sehr schwer für Objektzuordnung und um ehrlich zu sein, es ist einfacher, ein Hosting-Unternehmen zu finden, die volle Vertrauen unterstützt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top