サイトルートをasp.net mvc + webforms + iss 6ワイルドカードマッピングw/ asp.net w/ asp.net w/ webformsを返すようにするにはどうすればよいですか?
-
04-10-2019 - |
質問
現在、WebフォームからASP.NET MVCにWebアプリケーションを変換しています。プロジェクトは変換され、IIS 6はワイルドカードマッピングを使用してセットアップされています。また、正常に動作するMVCビュー/コントローラーを1つ作成しました。ただし、1つの問題があります。サイトルートにアクセスすると、ルーティングエンジンがIISのデフォルトページのセットアップではなく、ユーザーをデフォルトコントローラーにリダイレクトします。ルーティングエンジンが始まる前に、IIにデフォルトページを使用させる方法はありますか?
そうでない場合...
デフォルトのコントローラーに、ユーザーをデフォルトページ(loginpage.aspx)にリダイレクトするだけです。 Web.configの承認は、パスが許可されていないと考えているように思われるため、それは機能します。 http://dev01/samplewebapp/loginpage.aspx?returnurl =%2fsamplewebapp
デフォルトのコントローラーに直接(http:// dev01/samplewebapp/default/)に移動すると、ユーザーは正しいパスでログインページに再監督されます。
それでは、web.configの承認を渡してサイトルートを取得し、returnurlを使用してログインページにリダイレクトする方法はありますか?
どんな助けも大歓迎です。
ありがとう、ダレン
解決 2
したがって、私の問題は、system.webタグの下でweb.configでURLマッピングを使用することでした。
<urlMappings enabled="true">
<add url="~/" mappedUrl="~/LoginPage.aspx"/>
<add url="~" mappedUrl="~/LoginPage.aspx"/>
</urlMappings>
「〜/」は再ダイレクトします http:// dev01/samplewebapp/ 道。
「〜」は再ダイレクトします http:// dev01/samplewebapp 道。
他のヒント
Global.asaxのルートの上部に構成:
routes.IgnoreRoute("LoginPage.aspx");
また:
routes.IgnoreRoute("/");
試したことはありませんが、これら2つのオプションの1つは機能するはずです。