ASP.NET MVC дзеянні формы для маршрутаў абслугоўвання

Я працую на дадатак ASP.NET MVC. Я выкарыстоўваю толькі правілы маршрутызацыі па змаўчанні. У мяне ёсць цэлы шэраг меркаванняў, якія робяць форму, выкарыстоўваючы такі код:

@using (Html.BeginForm("ForgotPassword", "Register", FormMethod.Post))

Гэта працуе выдатна. Дзеянне формы будзе адпраўляць паведамленні ў /MyApp/рэгістрацыя/forgotpassword і ўсё выдатна працуе.

Зараз трэба дадаць некалькі канчатковых кропак службы ў тым жа дадатку. Таму я дадаў некалькі новых маршрутаў вышэй па змаўчанні. Налада маршрутызацыі цяпер выглядае наступным чынам:

//New rule
RouteTable.Routes.Add(
    new ServiceRoute(
    "api/user", new MyCustomerServiceHostFactory(),
    typeof(UserWebservice)));

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

Пасля таго, як я дадаў новае правіла ўсе мае формы зламалася. Праверка HTML, я магу бачыць, што форма дзеянні /MyApp/API/дзеянні карыстальніка = ForgotPassword & амп ;? Кантролер = Register ', што зусім няправільна.

Так што маё пытанне: як я пракладзяце новы сэрвіс, не парушаючы ўсе мае існуючыя формы?

А за бонусныя ачкі: што, чорт вазьмі, тут адбываецца?

1
вы спрабавалі змяніць парадак вашых адлюстраванняў, пакласці па змаўчанні вышэй абслугоўванне аднаго.
дададзена аўтар Emmanuel N, крыніца

1 адказы

паспрабуйце выкарыстоўваць, як паказана ніжэй,

//New rule
RouteTable.Routes.Add(
    new ServiceRoute(
    "UserWebservice", new MyCustomerServiceHostFactory(),
    typeof(UserWebservice)));

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

Я думаю, што змяненне кода для дадання маршруту ў Спасылка спасылка павінна працаваць.  Акрамя таго, праверыць гэты блог для стварэння Дынамічнае абслугоўванне маршруты .

0
дададзена
Маршрут ва ўзоры кода не працуе. Тым не менш, Dynamic Service Route вы звязаны зрабіў трук. Дзякуй!
дададзена аўтар Brian Reischl, крыніца