サイトルートをasp.net mvc + webforms + iss 6ワイルドカードマッピングw/ asp.net w/ asp.net w/ webformsを返すようにするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/3782972

  •  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つは機能するはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top