0

私は助けが必要です。メイン プロジェクトからポータブル領域にアクセスできません。すべてをビルドし、このポータブル エリア (localhost:123/IW/Home) にアクセスしようとすると 404 エラーが発生しますが、通常のエリアはすべて正常に動作しています (例: localhost:123/Portal/Home)。

ポータブル領域をインストールするために私が行ったことは次のとおりです - MVCContrib をダウンロードしました - メイン プロジェクト (WAB と呼ばれる) に MVCContrib.dll への参照を追加しました

- WAB と同じソリューションで新しいクラス ライブラリ プロジェクトを作成しました。-この新しいクラス ライブラリは IWPortableArea と呼ばれ、必要なアセンブリ参照 (MVCContrib、System.mvc など) を追加しました。

-IWRegistration を作成しました:

namespace IWPortableArea
{
    public class IWRegistration : PortableAreaRegistration
    {
        public override void RegisterArea(System.Web.Mvc.AreaRegistrationContext context, IApplicationBus bus)
        {
            context.MapRoute(
                "iw",
                "iw/{controller}.aspx/{action}",
                new { controller = "login", action = "index" });

            RegisterAllAreas(GetType());
        }

        public override string AreaName
        {
            get { return "iw"; }
        }


    }
}

-ビューファイルを使用しない単純なコントローラーを作成しました:

namespace IWPortableArea.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return Content("yo you are in IW Portable Area, congrats");
        }
    }
}

-メイン プロジェクトにポータブル領域への参照を追加しました: IWPortableArea.dll

-最後に、メイン アプリケーションの Global.asax.cs を次のように変更しました。

public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");


            routes.MapRoute(
                "Default", // Route name
                "{controller}.aspx/{action}/{id}", // URL with parameters
                new { controller = "Portal", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );
        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);
        }
    }
4

1 に答える 1

2

ホスティング アプリケーションで「エリア」という名前のフォルダーを作成することを忘れないでください。これで私の問題は解決しました。

于 2010-09-10T06:06:49.647 に答える