Перечисление URL-адресов маршрутов ASP.NET MVC RouteTable

Я пытаюсь выяснить, как перечислить URL-адреса Маршруты в RouteTable .

В моем сценарии у меня определены следующие маршруты:

routes.MapRoute
  ("PadCreateNote", "create", new { controller = "Pad", action = "CreateNote" });
routes.MapRoute
  ("PadDeleteNote", "delete", new { controller = "Pad", action = "DeleteNote" });
routes.MapRoute
   ("PadUserIndex", "{username}", new { controller = "Pad", action = "Index" });

Другими словами, если мой сайт - это mysite.com, mysite.com/create вызывает PadController.CreateNote () и mysite. com / foobaris вызывает PadController.Index () .

У меня также есть класс, который строго вводит имена пользователей:

public class Username
{
    public readonly string value;

    public Username(string name)
    {
        if (String.IsNullOrWhiteSpace(name)) 
        {
            throw new ArgumentException
                ("Is null or contains only whitespace.", "name");
        }

        //... make sure 'name' isn't a route URL off root like 'create', 'delete'

       this.value = name.Trim();
    }

    public override string ToString() 
    {
        return this.value;
    }
}

В конструкторе для Username я хотел бы проверить, чтобы убедитесь, что имя не является определенным маршрутом. Например, если это вызвано:

var username = new Username("create");

Тогда должно быть создано исключение. Что мне нужно заменить // ... убедитесь, что 'name' не является URL-адресом маршрута от корня на?

6
задан tereško 1 April 2013 в 19:07
поделиться