IIS Express отклоняет запросы PUT в службах данных ADO.Net - PullRequest
1 голос
/ 28 декабря 2011

У меня есть проект, который использует ado.net dataservices.Этот проект изначально разрабатывался в VS2005 и IIS6, но сейчас я переношу его на стандарты IIS7.Я столкнулся с ошибкой при попытке обновить существующие записи, операция put (для службы) завершается неудачно и выдает следующее предупреждение браузера:

URI 'http://localhost:6188/services/Datatracker.svc/provider' недопустим для PUTоперация.URI должен указывать на один ресурс для операций PUT.

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

Любая помощь будет оценена.

1 Ответ

1 голос
/ 29 декабря 2011

Итак, как оказалось, это неверный синтаксис для запросов put и delete:

http://localhost:6188/services/Datatracker.svc/provider

Допустимый синтаксис odata: (OLKM представляет значение ключевого поля, которое однозначно идентифицирует запись)

http://localhost:6188/services/Datatracker.svc/provider('OLKM')

Старый asp.net + iis6 позволял вам обмануть это требование, но iis7 & .net 3.5+ требует от вас использования правильного синтаксиса.

...