2010-09-17 2 views
2

J'ai implémenté une classe QueryStringConverter personnalisée et l'ai connectée à l'aide d'une sous-classe WebHttpBehavior personnalisée. Quand je fais un appel de service, il frappe mon point d'arrêt dans le remplacement CanConvert (et je renvoie true pour ce paramètre), mais il n'appelle jamais mon override ConvertStringToValue, et finit par passer juste null à l'appel de service ... pourquoi ConvertStringToValue appelé et comment puis-je le réparer?Comment puis-je implémenter un QueryStringConverter personnalisé pour RESTful WCF?

+1

MISE À JOUR: Cela a été corrigé dans .Net 4.5 – BlazingFrog

Répondre

1

Ceci n'est pas possible. Microsoft a été tellement bâclé avec l'implémentation de cette fonctionnalité qu'il a simplement rajouté l'instruction standard QueryStringConverter d'utiliser celle configurée dans le fichier de configuration.

Il n'y a pas de contournement qui fonctionne réellement. Le second dans le rapport de bug ne fonctionne pas du tout.

La réponse courte est que vous ne pouvez pas. Voir le bug ici: http://connect.microsoft.com/VisualStudio/feedback/details/616486/bug-with-getquerystringconverter-not-being-called-by-webservicehost#tabs

Il est encore cassé dans la structure 4.0. Je suppose que ce n'est pas important - alors peut-être prendre le temps d'augmenter le nombre de bogues.

Observe

Craig.

1

Je sais que c'est une vieille question. Pour toute personne qui la recherche d'une réponse, vous devriez être en mesure d'ajouter le TypeConverter à votre classe qui peut convertir le type en provenance et à la représentation de la chaîne

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

Les types qui ont une TypeConverterAttribute qui peut convertir le type à et à partir d'une représentation sous forme de chaîne.

Questions connexes