OData URI соглашение для адресации записей, которые имеют период в пределах уникального идентификатора? - PullRequest
0 голосов
/ 06 октября 2011

Я использую OData в качестве API в приложении. Одна из моих таблиц базы данных имеет уникальный идентификатор, который содержит точки (.) Я пытаюсь получить доступ к записям в этой таблице, используя следующее соглашение:

http://foo.bar.com/services/v001.svc/Categories('A.B.C')

.. но я постоянно получаю следующую ошибку:

Контроллер для пути '/services/v001.svc/Categories('A.B.C') 'не найден или не реализует IController.

Сначала я думал, что это связано с неправильной настройкой моих маршрутов, но я удалил все пользовательские маршруты и все еще получаю ту же ошибку. Доступ ко всем остальным записям во всех таблицах в моей базе данных по тому же соглашению URI работает просто отлично. Единственная разница между этими записями и всеми остальными состоит в том, что я использую точку в столбце уникального идентификатора.

Помощь!

1 Ответ

1 голос
/ 17 октября 2011

Проблема заключается в том, что у Cassini (веб-сервера разработки в Visual Studio) возникают проблемы с обработкой периодов в URL.Решение состоит в том, чтобы изменить свойства проекта для использования локального веб-сервера IIS вместо использования Cassini.Для этого:

  1. Правый клик на вашем проекте
  2. Нажмите «Свойства»
  3. Перейдите на вкладку «Веб»
  4. Измените настройки в«Сервер» - «Использовать локальный веб-сервер IIS» и установите флажок «Использовать IIS Express»
  5. Следуйте инструкциям для создания виртуального каталога и т. Д.
  6. В следующий раз при отладке ваше приложение должно работатьв вашей локальной установке IIS, и теперь URL-адреса должны обрабатываться правильно.

Это, конечно, предполагает, что на вашем компьютере установлен IIS.Почему Кассини не любит периоды, а полный IIS любит?Кто знает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...