2010-09-17 1 views
2

Я реализовал индивидуальный класс QueryStringConverter и подключил его с помощью настраиваемого подкласса WebHttpBehavior. Когда я вызываю служебный вызов, он попадает в мою точку останова в переопределении CanConvert (и я возвращаю true для этого параметра), но он никогда не вызывает переопределение ConvertStringToValue и заканчивается тем, что передал null только на вызов службы ... почему ConvertStringToValue никогда и как я могу это исправить?Как я могу реализовать пользовательский QueryStringConverter для RESTful WCF?

+1

ОБНОВЛЕНИЕ: Это исправлено в .Net 4.5 – BlazingFrog

ответ

1

Это невозможно. Microsoft была настолько неаккуратной с реализацией этой функциональности, что они просто обновили стандартный QueryStringConverter, чтобы использовать конфигурацию, сконфигурированную в файле конфигурации.

Нет работы вокруг, которая фактически работает. Второй в отчете об ошибке вообще не работает.

Короткий ответ заключается в том, что вы не можете. См. Здесь ошибку: http://connect.microsoft.com/VisualStudio/feedback/details/616486/bug-with-getquerystringconverter-not-being-called-by-webservicehost#tabs

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

С уважением

Крейг.

1

Я знаю, что это довольно старый вопрос. Для любого, кто ищет какой-то ответ, вы должны быть в состоянии добавить TypeConverter к классу, который может преобразовать тип и из строкового представления

http://msdn.microsoft.com/en-us/library/system.servicemodel.dispatcher.querystringconverter.aspx

типов, которые имеют TypeConverterAttribute, который может преобразовать тип до и из строкового представления.

 Смежные вопросы

  • Нет связанных вопросов^_^