Ich habe einen Bibliothekscode, der wissen sollte, ob er im Kontext eines Webservers oder eines eigenständigen Anwendungsservers ausgeführt wird.Wie kann ein .NET-Code wissen, ob er in einer Web-Server-Anwendung ausgeführt wird?
Der offensichtlichste, der in den Sinn kommt, ist der Name der Anwendungskonfigurationsdatei zu überprüfen, und wenn es web.config ist - dann ist dies ein Webserver, ansonsten - eigenständiger Anwendungsserver.
Eine andere Möglichkeit ist, nach etwas wie "Temporäre ASP.NET-Dateien" im Pfad des Schattenordners zu suchen.
Aber ich mag beide nicht, da sie zu hacky und zerbrechlich scheinen. Gibt es eine robuste Möglichkeit, das zu tun, was ich will?
Danke.
P.S.
Man kann eine dedizierte App-Konfiguration festlegen - IsWebServer, aber ich mag es noch mehr.
EDIT:
Während nach einer Lösung für ein anderes Problem suchen, denke ich, ich diese gelöst - die Details here
Warum brauchen Sie den Kontext? –
Wir ordnen dem ersten Ordner im privaten Suchpfad eine besondere Bedeutung zu. Die Sache ist, dass unsere Logik unter dem Webserver etwas anders funktionieren sollte, aufgrund der Unterschiede in privaten Suchpfad-Setups zwischen einem Webserver und einer Standalone-App. – mark
Vielleicht sollten Sie es ausstellen, so dass Sie einfach eine Strategie-Muster-Implementierung in Ihrem Framework speichern würden, so dass das Framework selbst keinen speziellen Code benötigt, sondern der Code in Ihrer Web-Anwendung verbleibt? –