2010-11-09 9 views
2

MonoTouch associé maintenant; Je voudrais transformer mon iPad en un hôte pour les services Web WCF. J'ai déjà une implémentation .NET de telle sorte que fonctionne sur Mac (Mono). Cette solution utilise les classes System.ServiceModel.ServiceHost et System.ServiceModel.Web.WebServiceHost. Cependant, ces classes ne peuvent pas être trouvées avec le projet iPad, même si j'ai référencé à la fois System.ServiceModel et System.ServiceModel.Web;Hébergement d'un service Web WCF sur iPad (MonoTouch)

Ces classes ne sont-elles pas implémentées sur monotouch? PS: Je sais comment transformer l'iPad en un serveur Web avec la classe System.Net.HttpListener, mais ce n'est pas ce que je voudrais accomplir maintenant.

Répondre

1

Semble que cela ne fonctionne que pour les usines WebScriptServiceHostFactory, en relisant cet ensemble de correctifs: http://lists.ximian.com/pipermail/mono-patches/2009-October/159496.html. En regardant les sources actuelles, nous pouvons voir que ServiceHost est filtré pour les plates-formes mobiles (https://github.com/mono/mono/blob/master/mcs/class/System.ServiceModel/moonlight_raw_System.ServiceModel.dll.sources) probablement afin qu'il corresponde à ce qui est disponible dans Silverlight, qui a volontairement limité les capacités d'hébergement.

Alors ajustez votre code pour utiliser ce qui est disponible, ou faites une demande (sera probablement refusée) pour que MonoTouch/MonoDroid ait plus de WCF Stack disponible.

+0

Je doute que plus de la pile sera ajoutée au profil MonoTouch, mais vous pouvez toujours utiliser le code source Mono pour créer vos propres DLL. Assurez-vous simplement de les compiler avec 'smcs' afin qu'ils se réfèrent à la bonne version 'Silverlight' de mscorlib, etc. – jpobst