2

私には2つの分野があります:

ControlPanelおよびPatients

どちらにも、名前だけが似ているProblemsControllerというコントローラーがあります。望ましい結果は、/ controlpanel / problems=>MyApp.Areas.ControlPanel.Controllers.ProblemsControllerおよび/patients/problems=>MyApp.Areas.Patients.Controllers.ProblemsControllerを生成するルートになります。

それぞれに次のように構成されたルートがあります。

public override void RegisterArea(AreaRegistrationContext context)
        {
            context.MapRoute(
                "**Area Name Here**_default",
                "**Area Name Here**/{controller}/{action}/{id}",
                new { action = "Index", id = UrlParameter.Optional }
            );
        }

ここで、*****ここのエリア名*****はControlPanelまたはPatientsのいずれかです。

(たとえば)/patients/problems/createに移動すると、ルーティングエラーが次のように表示される404が表示されますA public action method 'create' was not found on controller 'MyApp.Areas.ControlPanel.Controllers.ProblemsController'

何が間違っているのかわかりません。

4

2 に答える 2

1

実際、問題は Autofac 2.1 にあることがわかりましAutofacControllerFactoryた。ルートは正しく機能していますが、autofac は適切なコントローラーを見つけるのに苦労しています。

Autofac と MVC 2.0 を使用している場合、Autofac 2.1 は領域をサポートしていません。プロジェクトが十分に単純な場合、Autofac はエリアで動作するように見えるかもしれません、エリアとコントローラーがより洗練されるにつれて機能しなくなります。

Area の完全サポートのチケットはクローズされ、関連するコードがチェックインされましたが、私が知る限り、それは 2.2 までリリースされません。トランクからビルドしてみますので、その様子をレポートします。

更新 はい、トランクから構築された Autofac を使用すると、すべてがうまく見えます。うまくいけば、2.2 はすぐに正式にリリースされます。

于 2010-04-26T15:13:23.777 に答える
0

名前空間パラメーターでオーバーロードを使用してみましたか?

ASP.NET MVC 2 Preview 2: 領域重複コントローラーの問題

于 2010-04-26T14:47:46.340 に答える