Architekturstandards mit .NET-Framework durchsetzen

Für viele Einstellungen wird dieser „Alles-oder-nichts-Ansatz“ nicht ausreichen. Um genauere Kontrolle zu erlangen, kann man mit dem .NET-Framewerk die machine.config-Einstellungen, die nicht überschrieben werden können, mithilfe eines virtuellen Verzeichnisses festlegen. Sie müssen nur ein Pfadattribut innerhalb der machine.config-Datei verwenden. Nehmen wir an, Sie wollen die Standardeinstellung für alle Sites auf StateServer setzen, eine bestimmte Anwendung namens ThisBoxOnly soll aber auf einem einzelnen Server in der Webfarm mit dem InProc-Session-Status laufen. Unter diesen Bedingungen würde Ihre machine.config-Datei wie folgt aussehen:


<location path="Default Web Site/ThisBoxOnly"
allowOverride="false">
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
. . . />
</location>
<sessionState
mode="StateServer"
stateConnectionString="tcpip=127.0.0.1:42424"
. . ./>

Nun verwendet die ThisBoxOnly Site den InProc-Session-Status, während alle anderen Sites den StateServer als Standardeinstellung nutzen. Durch das Einstellen des allowOverride-Attributs auf False können Sie verhindern, dass der Entwickler die Werte für die ThisBoxOnly Applikation verändert.

Absperren der Produktionsboxen

Natürlich ist all diese Arbeit nutzlos, wenn Sie die Sicherheit der Produktionsserver nicht ausreichend berücksichtigen. Nur Systemadministratoren sollten die nötigen Rechte besitzen, um Standard-machine.config-Dateien ändern zu können. Sie müssen außerdem Prozesse einsetzen, um passende <location>-Elemente für alle Server der Webfarm in die machine.config-Dateien des Produktionsservers einzufügen, wenn Sie diese Methode verwenden wollen, die jeder Anwendungen einen entsprechenden Pfad zuweist.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Architekturstandards mit .NET-Framework durchsetzen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *