Почему мой параметр маршрута ASP.NET Core типа short распознается неправильно (отображается как строка и вызывает ошибкуC#

Место общения программистов C#
Ответить
Anonymous
 Почему мой параметр маршрута ASP.NET Core типа short распознается неправильно (отображается как строка и вызывает ошибку

Сообщение Anonymous »

У меня есть проект веб-API ASP.NET Core, и я пытаюсь определить параметр маршрута типа short.
Например:

Код: Выделить всё

[HttpGet("{id:short}")]
public IActionResult GetCity(short id)
{
// ...
}
Однако в моем проекте короткая часть ограничения маршрута не распознается — она не подсвечивается синтаксис (она отображается в виде строки), и когда я запускаю проект, я получаю ошибку времени выполнения, сообщающую, что ограничение маршрута недействительно.
Вот что происходит:
В рабочем примере short правильно окрашивается в Visual Studio и работает нормально, когда работает.
Изображение

В моем проекте short остается оранжевым, как строка, и при запуске приложения появляется ошибка.
Изображение

Другие ограничения маршрута, такие как {id:int} и {id:guid}, работают нормально в другом проекте, а VS раскрашивает их в моем, чего не происходит. Int работает (он не окрашен), короткое сообщение, я получаю ошибку -> При обработке запроса произошло необработанное исключение.
InvalidOperationException: ссылку ограничения «short» не удалось преобразовать в тип. Зарегистрируйте тип ограничения с помощью Microsoft.AspNetCore.Routing.RouteOptions.ConstraintMap.
В первом проекте эта ошибка не возникает, все работает нормально.

Подробнее здесь: https://stackoverflow.com/questions/797 ... orrectly-s
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»