Archiv

Artikel Tagged ‘IIS’

Manuelles schreiben einer lokalen Url in Asp.NET

23. September 2011 1 Kommentar

Glaubt man der Dokumentation von HttpRequest.ApplicationPath, so ist es recht einfach, einen Link in einer eigenen Asp.NET Seite zu verwenden:

Label1.Text = Request.ApplicationPath;
Image1.ImageUrl = Request.ApplicationPath + "/images/Image1.gif";
Label2.Text = Image1.ImageUrl;

Aber damit steht man schnell vor einem Problem: Liegt die Anwendung im Root, wie es beispielsweise standardmäßig beim Visual Studio 2010 Development Server der Fall ist, so erhält man als Ergebnis nur ein /. Die korrekte Zeile wäre dann also:

Image1.ImageUrl = Request.ApplicationPath + "images/Image1.gif";

Befindet sich die Seite aber in einem virtuellen Verzeichnis, so kommt das Verzeichnis ohne abschließenden / zurück:

Image1.ImageUrl = Request.ApplicationPath + "/images/Image1.gif";

Je nach Speicherort muss man also beim händischen Zusammensetzen der URL’s also den abschließenden Slash berücksichtigen, oder eben auch nicht.

Eine gute Lösung habe ich in einem Blog-Artikel von 2004 gefunden:

VirtualPathUtility.ToAbsolute("~/images/Image1.gif")

Damit überlässt man Asp.NET die korrekte Umsetzung, welche auch tadellos und ohne Experimente funktioniert!

Update:
Manchmal sieht man einfach den Wald vor lauter Bäumen nicht. Die kürzere Lösung ist Url.Content, welche ein vergleichbares Ergebnis liefert und auch in den Templates von Asp.NET MVC3 verwendet wird.

KategorienAllgemein, Microsoft .NET Tags: ,

SSL-Zertifikat auf 1&1 Windows Webserver installieren

22. März 2010 2 Kommentare

Bei der Installation eines SSL-Zertifikat’s auf einem Windows Webserver 2008 x64 von 1&1 bin ich auf einige Probleme gestoßen. Deren Umschiffung möchte ich hier zeigen.

Nach Beantragung des Zertifikates erhält man eine Email mit einiger Hilfestellung. Zuerst wird man auf die Hilfe-Seite von GeoTrust verwiesen. Leider passt die Anleitung nicht, da man beim Versuch, im IIS7 ein “Complete Certificate Request” durchzuführen, nur eine Fehlermeldung erntet:

CertEnroll::CX509Enrollment::p_InstallResponse: ASN1 bad tag value met. 
0x8009310b (ASN: 267)

Das 1&1 Hilfe-Center bringt einen da schon weiter. Man muss nur eine pfx-Datei aus seinem Zertifikat im Control-Center erstellen und dieses im IIS importieren.

Leider gibt es dann aber immer noch Probleme, will man das Zertifikat einer Webseite zuzuordnen:

A specified logon session does not exist. It may already have been terminated. 
(Exception from HRESULT: 0x80070520)

Eine Lösung fand ich in einem IIS-Forum und in einem Blog. Man exportiert das Zertifikat im IIS und importiert es anschließen erneut. Dann lässt sich im IIS problemlos die neue Bindung anlegen.

KategorienAllgemein Tags: , ,

Asp.NET TimeOut bei Form-Authentifizierung

4. September 2009 Keine Kommentare

Verwendet man Formular-Authentifizierung, so lässt sich der TimeOut von Asp.NET Anwendungen scheinbar nicht über 20min erhöhen. Damit es doch geht, muss in der web.config der TimeOut explizit vermerkt werden:

...
    <authentication mode="Forms">
      <forms name="WebFormlogin" loginUrl="WebFormlogin.aspx" timeout="60">
...
KategorienMicrosoft .NET Tags: ,