Регистрация веб-службы WCF нарушает мою маршрутизацию веб-форм HTML ASP.Net - PullRequest
0 голосов
/ 04 марта 2019

(РЕШЕНИЕ НИЖЕ) При добавлении веб-службы WCF в существующее приложение ASP .Net MVC моя форма входа в систему пытается маршрутизировать маркер входа через веб-службу, когда я регистрирую маршрут веб-службы в запуске приложения.

Я имею в виду следующее, если я не зарегистрируюсь маршрут к моему веб-сервису (как показано ниже)

Protected Sub Application_Start()
       ...
       RouteTable.Routes.Add(New ServiceRoute("MyWebServiceName", New WebServiceHostFactory(), GetType(MyWebServiceName)))
       RouteConfig.RegisterRoutes(RouteTable.Routes)
       ...
End Sub 

Он правильно перенаправляет мой логин, как это... http://localhost:49322/Account/Login?ReturnUrl=%2F

Однако, , если я регистрирую маршрут веб-службы, он пытается перенаправить мой логин следующим образом ... http://localhost:49322/EISFacialWebService?action=Login&controller=Account&ReturnUrl=%2F

Есть идеи ???

1 Ответ

0 голосов
/ 07 марта 2019

решено:

Я решил это путем рефакторинга

RouteTable.Routes.Add(new ServiceRoute("MyService.svc", new ServiceHostFactory(), typeof(MyService)))

из файла Globals.asax

в файл ~/App_Start/RouteConfig.vb...

  1. Добавлено расширение .svc для игнорирования маршрутов (routes.IgnoreRoute("{resource}.svc/{*pathInfo}"))
  2. Добавить маршрут службы WCF ПОСЛЕ маршруты по умолчанию
Public Sub RegisterRoutes(ByVal routes As RouteCollection)
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}")

/* [ PART 1 ] */
    routes.IgnoreRoute("{resource}.svc/{*pathInfo}")

    routes.MapRoute(
        name:="Default",
        url:="{controller}/{action}/{id}",
        defaults:=New With {.controller = "Home", .action = "Inbox", .id = UrlParameter.Optional}
    )

/* [ PART 2 ] */
    routes.Add(New ServiceRoute("MyService.svc", New WebServiceHostFactory(), GetType(MyService)))

End Sub

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...