Приписывание ограничений в вебапи

В документации по атрибуции есть ряд предупреждений, в которых говорится, что " повышение производительности при сопоставлении маршрутов" не работает. О каких улучшениях производительности они говорят и что это означает с точки зрения производительности в производственной системе - достаточно ли это, чтобы не учитывать атрибуцию в производственной системе?

Как насчет более подробной информации о пользовательских обработчиках маршрута и ограничениях параметров строки запроса? Что они подразумевают под "пользовательским" и что касается ограничений строки запроса, это ограничения на тип данных?

Я хотел бы понять это немного больше, а также измерить его влияние в моих сценариях использования, чтобы определить, подходит ли пакет маршрутизации атрибутов для web-api для моего производственного API.

1 ответ

РЕЗЮМЕ

Выполните оценку на основе RTM-версии ASP.NET v5 либо из исходной, либо из ночной сборки, поскольку она включает AttributeRouting.

ДЕТАЛЬ

слияние

AttributeRouting был внедрен в ASP.NET v5 RTM с участием владельца пакета AR Тима Маккола. v5 находится в стадии бета-тестирования с февраля 2013 года. См. дорожную карту ASP.NET на сайте документации ASP.NET.

Пользовательские обработчики маршрутов

Ограничения параметров

Поддержка классов на основе HttpVerbAttribute (примеры из AttributeRoutingTest.cs):

Ограничения типа параметра

    [HttpGet("controller/{id:int}")]
    public string Get(int id) { ... }

Необязательные параметры

    [HttpGet("optional/{opt1?}/{opt2?}")]
    public string Optional(string opt1 = null, string opt2 = null) { ... }

Значения по умолчанию

    [HttpGet("default/{default1=D1}/{default2=D2}")]
    public string Default(string default1, string default2) { ... }

Параметры подстановочных знаков

    [HttpGet("wildcard/{*wildcard}")]
    public string Wildcard(string wildcard) { ... }
Другие вопросы по тегам