Я реализовал индивидуальный класс QueryStringConverter и подключил его с помощью настраиваемого подкласса WebHttpBehavior. Когда я вызываю служебный вызов, он попадает в мою точку останова в переопределении CanConvert (и я возвращаю true для этого параметра), но он никогда не вызывает переопределение ConvertStringToValue и заканчивается тем, что передал null только на вызов службы ... почему ConvertStringToValue никогда и как я могу это исправить?Как я могу реализовать пользовательский QueryStringConverter для RESTful WCF?
ответ
Это невозможно. Microsoft была настолько неаккуратной с реализацией этой функциональности, что они просто обновили стандартный QueryStringConverter, чтобы использовать конфигурацию, сконфигурированную в файле конфигурации.
Нет работы вокруг, которая фактически работает. Второй в отчете об ошибке вообще не работает.
Короткий ответ заключается в том, что вы не можете. См. Здесь ошибку: http://connect.microsoft.com/VisualStudio/feedback/details/616486/bug-with-getquerystringconverter-not-being-called-by-webservicehost#tabs
Он по-прежнему сломан в рамках 4.0. Я предполагаю, что это не важно - поэтому, возможно, потребуется время, чтобы увеличить количество ошибок.
С уважением
Крейг.
Я знаю, что это довольно старый вопрос. Для любого, кто ищет какой-то ответ, вы должны быть в состоянии добавить TypeConverter к классу, который может преобразовать тип и из строкового представления
http://msdn.microsoft.com/en-us/library/system.servicemodel.dispatcher.querystringconverter.aspx
типов, которые имеют TypeConverterAttribute, который может преобразовать тип до и из строкового представления.
ОБНОВЛЕНИЕ: Это исправлено в .Net 4.5 – BlazingFrog