2011-12-09 7 views
0

I次のコードを持っている:私はredirectIPの値をチェックするとリダイレクトは期待通りに動作しない

var redirectIp = string.Format("{0}{1}", Session["CurrentHost"], ip.PathAndQuery); 
return new RedirectResult(redirectIp); 

それは私に与える:しかし

redirectIp "127.0.0.1:84/Administration/Accounts/ShowSummary?ds=0001" string 

は、私がコードをステップ実行するときにブラウザが開き、次のように表示されます。

http://127.0.0.1:84/Administration/Accounts/127.0.0.1:84/Administration/Accounts/ShowSummary?ds=0001 

私は全く混乱しています。誰でも何が起こっているか考えている?

答えて

4

これは、URL、http、ブラウザの仕組みです。プロトコル部分を忘れてしまったので、実際にリダイレクトするのはです。リダイレクト先のURLを指定すると、は正常に動作します。

var redirectIp = string.Format("http://{0}{1}", Session["CurrentHost"], ip.PathAndQuery); 
return new RedirectResult(redirectIp); 

これは今のより良い動作しますが、また、HTTPSをカバーすることができるようにするには、ホスト名と一緒にセッション変数のプロトコル部分を保存する方がいいでしょう。

関連する問題