簡體   English   中英

MVC路由嘗試在虛擬目錄上路由

[英]MVC Routing is Trying to Route on Virtual Directory

我剛剛開始了一個新的C#MVC程序。 我有很多這樣的作品,但是這個沒有,我也無法弄清楚為什么。

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{action}",
        defaults: new { controller = "Account", action = "LogOn" }
    );

}

它給了我這個錯誤:

System.Web.HttpException (0x80004005): The controller for path '/VIRTUALDIRECTORY' was not found or does not implement IController.
   at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType)
   at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName)
   at System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller, IControllerFactory& factory)
   at System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

像我的其他站點一樣,這是通過Visual Studio在虛擬目錄中設置的。 具體來說,我將其設置為“不打開頁面”,“本地IIS”,僅使用典型的URL: http:// localhost / VIRTUALDIRECTORY

我單擊創建,然后單擊確定,IIS中有VIRTUALDIRECTORY,(至少看起來)與其他虛擬目錄的設置相同。

與其他程序相比,這個程序的唯一區別是我本質上是將一個VB.NET MVC程序復制到C#。 因此,我創建了一個空的C#MVC程序,然后復制並轉換了這些類。 (顯然)沒有編譯錯誤,但是我敢肯定有一個設置或某些我沒有弄清楚的原因導致了這一錯誤。

有沒有其他人知道如何解決這個問題?

我通過nuget引用了最新的MVC(5.2.3)。

不確定這是否適用於其他任何人,但問題是我自己的問題。

我將我的Controller拆分為多個“部分”類,在代碼轉換過程中,沒有一個被標記為“公共”。

衛生署!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM