2009-08-25 16 views
1

私は電子商取引アプリケーションでAsp.net 3.5 MVCを使用しています。 は私が持っている私のカートを見る同じコントローラ上のアクションをチェックアウトするためにリダイレクトチェックアウトボタンで:ASP.Net MVC RedirectToSsl問題

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

私のコントローラは、次のようになります。

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

しかし、私はチェックアウトをクリックすると、URL がいるようです正しいこと: (更新を参照)https://localhost/Cart/CheckOutが、私は次のエラーを取得:

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. 

私が間違っていることは何ですか?

UPD:実際にリダイレクト後、ポート番号はなくなりました。 (私はASP.Net開発サーバーを使用しています)。しかし、アドレスボックスに正しいURLを入力しても同じエラーが発生する

+2

IIS7はありますか? (VistaとWin7)私はあなたのサイトを設定して、ポート80で自分自身で証明書を発行することをお勧めします...私は、VS Webサーバーで構築されたhttpsを扱っていませんが、問題と関係があります。 – Charlino

+1

短くて甘い答え... VS Web Server(AKA Cassini)は吸う。 SSLをサポートせず、一度に1つのスレッドのみを実行し、VSのデフォルトサーバーを実行します。マイクロソフトは真剣にそれを改善する必要がありますが、IISがなぜそうでないのか明らかな理由です。いずれにしても、IISを使用してソリューションをデバッグすることを検討する必要があります。 –

答えて

1

IISでサイトを設定していますか?そうでない場合、それが問題になる可能性があります。 Visual Studio DebuggerがSSLをサポートしているとは思えません。

+1

あなたは正しいです。 ASP.NET開発サーバーはSSLを処理するように設定されていません。 VistaまたはWindows 7でIISを使用するほうがはるかに良いです。 –

+0

ありがとう、私はASP.NET開発サーバーでこれを実行しようとしています。 私はIIS7にまだ展開する準備ができていませんが、うまくいくことを願っています... SSL要求を無視するようにASP.NET開発サーバーを構成する方法はありますか? –

+0

ASP.NET開発サーバーにSSL要求を無視させる方法がわかりません。私が通常行っていることは、 "EnableSSL"のようなWeb.config設定で制御できるカスタムSSLリダイレクト(しばしばベースコントローラ)を作成することです。そして、プロダクションやテストサーバーにデプロイするときは、EnableSSLをオンにして、 - ローカルで開発している場合は、EnableSSLをオフのままにしておきます。希望が助けてくれる! – xeb