У меня есть угловое одностраничное приложение, которое по инфраструктурным соображениям необходимо обернуть в контроллер MVC. В среде разработки это позволит обновлять страницу с помощью угловых путей маршрутизации, которые не существуют в MVC / .NET (например, url.com/app/jobDetails), используя собственный маршрут и ограничение маршрута, и все равно будет корректно загружать страницу ( загрузка его с url.com/Job/Log).
routes.MapRoute(
name: "Jobs",
url: "app/{*pagePath}",
defaults: new { controller = "Job", action = "Log" },
constraints: new { pagePath = @"job\S*" });
routes.RouteExistingFiles = true;
Однако, при развертывании этого на производстве (на нашем сервере QA), это не удается. Это точно такой же код (который я проверил путем его декомпиляции), поэтому, возможно, это проблема IIS.
Вышеуказанное работает без проблем в разработке. Если я перейду на приведенный ниже код, он также будет работать в production / QA - однако мне нужно иметь возможность применить ограничение маршрута, чтобы учесть дополнительные будущие маршруты к другим контроллерам.
routes.MapRoute(
name: "Jobs",
url: "app/{*url}",
defaults: new { controller = "Job", action = "Log" });
routes.RouteExistingFiles = true;
Таким образом, единственная часть, которая не работает, это ограничение маршрута регулярного выражения. Он работает в dev / debug, но не в производственном развертывании.
Любые идеи будут великолепны, спасибо!