2009-08-25 13 views
1

Ich arbeite an E-Commerce-app Using Asp.net 3.5 MVC. Auf meinem Einkaufskorb habe ich Kasse Schaltfläche, die zur Kasse Aktion auf demselben Controller umleiten:ASP.Net MVC RedirectToSsl Problem

<%= Html.ActionLink("CheckOut", "CheckOut") %> 

Mein Controller sieht wie folgt aus:

[RequireSsl(Redirect=true)] 
    public ActionResult CheckOut() 
    { 
     return View(); 
    } 

Aber wenn ich an der Kasse klicken Sie auf die URL scheint richtig sein: (siehe Update) https://localhost/Cart/CheckOut aber ich bekomme folgende Fehlermeldung:

Data Transfer Interrupted 

The connection to localhost was interrupted while the page was loading. 
The browser connected successfully, but the connection was interrupted while transferring information. Please try again. 

Irgendeine Idee, was ich falsch mache?

UPD: Eigentlich nach der Umleitung ist die Portnummer weg. (Ich benutze ASP.Net Entwicklungsserver). Aber selbst das Eingeben der korrekten URL in der Adresszeile führt zu demselben Fehler

+2

Haben Sie IIS7 verfügbar? (Vista und Win7) Ich würde empfehlen, Ihre Seite in diesem zu gründen und das mit einem selbstsignierten Zertifikat auf Port 80 zu machen ... Ich habe mich nicht mit https mit dem eingebauten VS Web Server beschäftigt, sondern nehme an, dass es " Ich habe etwas mit dem Problem zu tun. – Charlino

+1

Kurze und süße Antwort ... VS Web Server (AKA Cassini) saugt. SSL wird nicht unterstützt, es wird immer nur ein Thread gleichzeitig ausgeführt, und es ist der Standardserver in VS. Microsoft muss es ernsthaft verbessern, aber dann ist IIS der offensichtliche Grund, warum sie nicht sind. In jedem Fall sollten Sie IIS verwenden, um Ihre Lösung zu debuggen. –

Antwort

1

Ist die Site-Einrichtung in IIS? Wenn nicht, könnte das das Problem sein. Ich glaube nicht, dass der Visual Studio Debugger SSL unterstützt.

+1

Sie haben Recht. ASP.NET Development Server ist nicht für die Verarbeitung von SSL eingerichtet. Sie sind viel besser dran mit IIS in Vista oder Windows 7. –

+0

Danke, ich versuche, dies in ASP.NET Development Server ausführen. Ich bin noch nicht bereit, es zu IIS7 bereitzustellen, hoffe aber, dass es funktioniert ... Gibt es eine Möglichkeit, ASP.NET Development Server zu konfigurieren, SSL-Anforderungen zu ignorieren? –

+0

Ich weiß nicht, wie ASP.NET Development Server SSL-Anfragen ignorieren kann. Normalerweise mache ich eine benutzerdefinierte SSL-Umleitung (oft in einem Basis-Controller), die ich mit einer Web.config-Einstellung wie "EnableSSL" steuern kann. Wenn Sie die Bereitstellung in der Produktion oder auf einem Testserver durchführen, aktivieren Sie EnableSSL einfach. - Wenn Sie lokal entwickeln, lassen Sie EnableSSL deaktiviert. Ich hoffe, das hilft! – xeb