Нет, вы можете добавлять и удалять маршруты динамически.RouteTable.Routes
- это просто RouteCollection
, который имеет Add
и Remove
членов (или, если вы предпочитаете, Clear
).
Помните, что веб-сервер является многопоточным, однаковам нужно будет использовать протокол блокировки RouteCollection
.В частности, это означает GetWriteLock
:
var routes = RouteTable.Routes;
var newDynamicRoute = new Route(...);
using(routes.GetWriteLock()) {
routes.Remove(dynRoute);
dynRoute = newDynamicRoute;
routes.Add(dynRoute);
}