2009-12-23 3 views
1

J'utilisais volontiers la version RIA Services JUILLET 09 et j'utilisais un ServiceOperation pour une méthode qui prenait certains paramètres et renvoyait Entity.WCF RIA Services - Renvoi d'entité à partir de l'opération d'appel

[ServiceOperation] publique Entité TestMethod (string param1, chaîne param2, bool param3) {// faire quelque chose ici }

Mais dès que je suis passé à des services WCF RIA, je devais changer [ServiceOperation] à [Invoke], mais maintenant j'obtiens une erreur de compilation que Entity ne peut pas être renvoyé pour une opération Invoke. J'ai cherché ici et là et j'ai découvert que pour VS2008 ça ne marche pas mais pour VS 2010 ça marche toujours. J'ai besoin de savoir s'il existe une solution de contournement pour faire cela pour VS2008. Je ne veux pas que cette méthode ait une exécution différée comme les méthodes de requête.

Répondre

0

Non, il n'y a pas une solution de contournement pour 2008.

Finalement la version VS2010/.NET 4 Services RIA sera RTM'd ... donc je suggère d'utiliser que si vous pouvez déployer sur top of .net 4.

Si vous devez rester sur la version 3.5, une méthode de requête est votre seule route. Pour contourner ce problème, vous pouvez créer un DomainContext, émettre un appel Load, utiliser le résultat Entities de LoadOperation, puis simplement ignorer le DomainContext ... en d'autres termes, vous n'avez pas besoin d'utiliser le EntitySet/modèle d'accumulation si vous Je ne veux pas pour votre scénario particulier.

+0

Si ce changement était intentionnel pour .net 3.5. Ce serait vraiment bien si les services RIA sont également disponibles pour 3.5. J'ai vu tellement de gens l'utiliser et vont en direct avec 3.5 seulement –