簡體   English   中英

使用IIS Express在localhost中啟動App-C#

[英]Start App in localhost with IIS Express - C#

我有個問題。 我想從Visual Studio(C#)啟動我的App的新實例。

它始於http:// localhost:54619 / 問題在於,啟動時,在Global.asax.cs類的Application_BeginRequest()方法中創建了一個循環,而該循環永遠不會消失。 我嘗試使用Response.RedirectToRoute("Default")重定向它,但是它不起作用。 我無法擺脫那種方法。

    protected void Application_BeginRequest()
    {
    Response.Redirect("~/Principal");
    }

我正在使用ASP.NET MVC,IIS Express。

您的問題是, Application_BeginRequest()名稱請求狀態中的Application_BeginRequest()總是在您的應用程序收到請求時執行。 然后,在該方法中,您響應客戶端應改為~/Principal path。 當客戶端收到此響應時,它將創建一個新請求,最終將獲得相同的響應。 您想將請求重定向到默認控制器。 您應該通過注冊到該控制器的路由來做到這一點。 ASP.NET的MVC模板為此提供了一個示例:

  1. 創建一個注冊所需路線的函數

     public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } } 
  2. 調用Global.asax.cs中的函數

      public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } } 

現在,如果沒有其他路由適合該請求,則您的應用程序應將用戶重定向到名為“ Home”的控制器,並重定向至名為“ Index”的操作。

暫無
暫無

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

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