Mein C# -Code läuft möglicherweise in einer MVC3-Anwendung unter IIS (derzeit 7,5, möchte aber nicht von einer bestimmten Version abhängen) oder anderswo.Wie kann mein Code finden, wenn er in IIS ausgeführt wird?
Sieht aus wie eine Möglichkeit zu wissen, dass Code unter IIS ausgeführt wird, ist to check the current process name, aber dieser Ansatz hängt davon ab, einen Dateinamen-String hardcoded.
Gibt es eine programmatische Möglichkeit zu erkennen, dass mein Code unter IIS ausgeführt wird und nicht von der IIS-Version abhängig ist?
Nur weil IIS läuft auf Port 80 nicht seine Anwendung bedeuten wird in IIS gehostet. Das Umgekehrte ist auch wahr - IIS könnte auf jedem anderen Port ausgeführt werden (z. B. 8080) –
True. Aus diesem Grund wird die ServiceController-Klasse empfohlen. – pikzen
Alle ServiceController können Ihnen mitteilen, ob der IIS-Dienst ausgeführt wird und nicht, ob der aktuelle Code in diesem IIS ausgeführt wird. – Mark