3

私たちの Web サイトは、asp.net Web フォームと MVC 3 を組み合わせたものです。Web サイトは Web フォームで開発されていますが、Web サイトのルートにある別のディレクトリに格納され、独自の Web を持つ別の MVC アプリケーションを除きます。構成。Web フォーム ページ (aspx) は IIS 7 サーバーによって適切に処理されますが、MVC URL は404 - ファイルまたはディレクトリが見つかりません。

たとえば、Web サイトがwww.abc.comで、 www.abc.com /aaa/controller/actionを使用して MVC アプリケーションにアクセスするとします。ここで、aaaは MVC アプリケーションのルート ディレクトリであり、独自の web.config が含まれています。Web フォームの URL (www.abc.com/feedback.aspx など) は機能していますが、MVC URL ((www.abc.com/aaa/Controller/Action など) は 404 を返しています。

共有ホスティング プロバイダーから確認したところ、Web サイトは.net 4 統合パイプライン モードアプリケーション プールで実行されているため、拡張機能のない URL はデフォルトで IsapiModule によって処理され、追加の構成は必要ありません。

私の頭に浮かぶ疑問の 1 つは、MVC アプリケーションのルート フォルダー (上の例ではaaa ) を別のアプリケーションに変換する必要があるかどうかです。

上記の MVC url の問題を解決するには、何か推測はありますか?

4

2 に答える 2

0

は、ルーティング システムを共有します。WebForm と MVC の一部である Hybrid WebApp を作成する必要があります。私は最近、ここで同様のことを行いました。ここでは、がメイン アプリで、MVC がネストされたアプリです。この場合、サイト全体に対して 1 つの global.asax と 1 つの web.config のみが必要です。MVC は WebForm と同じディレクトリに置くことができますが、それらが共有するものだけです。

この作業を行うために、 Scott Hanselmanのこのガイドに従いました。

于 2013-07-31T14:12:33.990 に答える
0

ホスティング プロバイダーはWebsitePanelを使用します。これにより、MVC アプリケーションを含むフォルダーの仮想ディレクトリを作成できました。MVC URL は Isapi ハンドラーにルーティングされ、404 (ファイルが見つかりません) を返さなくなりました。ということで、この話題はここで締めたいと思います。

つまり、MVC アプリケーションの仮想ディレクトリを作成することで問題が解決しました。

于 2013-07-31T15:01:16.517 に答える