URI schema constant

Immer wiedermal muss man in seinem Code überprüfen welches Schema die URI (URL) besitzt. Daher sieht man oft solche Codezeilen:
if (httpRequest.Uri.Scheme == "https")
Ich bin absolut kein Freund von solchen Abfragen, die auf einen String-Wert vergleichen, den man selber schreiben muss. Das ist einfach viel zu Fehleranfällig und verleitet auch durch Copy & Paste und zu schnelles Tippen einfach Fehler zu machen... die Abfrage ist ja auch wirklich zu einfach um länger drüber nachzudenken.

Dabei kann man sich das Leben auch einfacher machen und zumindest in meinen Augen auch den Code richtig schreiben durch die Verwendung einer Konstanten aus dem .NET Framework. Die Klasse URI besitzt nämlich schon bereits diese Konstanten!

Der Code von oben sieht dann plötzlich wie folgt aus:
if (httpRequest.Uri.Scheme == Uri.UriSchemeHttps)
Hier einen Auszug der vordefinierten Werte:
  • UriSchemeFtp: URI für  FTP (File Transfer Protocol).
  • UriSchemeHttp: URI für HTTP (Hypertext Transfer Protocol) 
  • UriSchemeHttps: URI für HTTPS (Secure Hypertext Transfer Protocol).
  • UriSchemeMailto: Gibt an, dass der URI eine E-Mail-Adresse ist und der Zugriff über SMTP (Simple Mail Transport Protocol) erfolgt.
  • UriSchemeNetPipe: Gibt an, dass auf den URI über das von Windows Communication Foundation (WCF) verwendete NetPipe-Schema zugegriffen wird.
  • UriSchemeNetTcp: Gibt an, dass auf den URI über das von Windows Communication Foundation (WCF) verwendete NetTcp-Schema zugegriffen wird.
  • UriSchemeNntp: URI für eine Internetnewsgroup, auf die über NNTP (Network News Transport Protocol) zugegriffen wird

Details gibt es hier.

Kommentar schreiben