Question

Nous devons mettre en œuvre un service WCF sur une machine qui ne peut fonctionner que .NET 2.0.

La machine est un terminal Windows XPe POS, et nous n'avons pas trouvé un moyen d'installer .NET 3.0. Nous ne pouvons pas vraiment formater avec une nouvelle image XPe parce qu'il ya une application de point de vente exclusif et les pilotes installés.

Y at-il un moyen de faire mettre en œuvre un service WCF sur .NET 2.0? Nous pouvons utiliser XmlSerializer standard pour les messages que CF .NET fait, mais .NET CF ne supporte pas d'être un serveur ...

Une solution alternative consiste à installer une certaine façon .NET 3.0. La configuration se plaint de Windows XP SP2 ne sont pas installé, et Windows Update ne fonctionne pas sur XPe .

Toutes les idées?

MISE À JOUR: Nous aimerions également la possibilité d'utiliser services Web SOAP , mais notre objectif la plate-forme n'a pas IIS installé. Est-ce que quelqu'un connait un bon moyen d'héberger un service Web .NET 2.0 (qualité de la production) sans IIS?

SOLUTION: Nous utilisons Cassini avec les services Web .NET 2.0 comme la réponse marquée suggéré. Cela semble bien fonctionner jusqu'ici. Merci pour l'aide.

Était-ce utile?

La solution

On dirait que vous avez épuisé la plupart des possibilités. Y at-il une raison quelconque vous devez utiliser WCF au lieu des services Web SOAP simples que .NET 2.0 prend en charge hors de la boîte? Même si je comprends qu'il est frustrant d'utiliser la technologie plus, je soupçonne que vous aurez moins de problèmes en allant sur le chemin relativement courant que d'une certaine manière bricolant ensemble une implémentation WCF sur .NET 2.0.

(Je recommande fortement contre essayer d'utiliser la version 3.0 .NET 2.0 .NET sur des assemblages Il se pourrait bien violer la licence -. Il faudrait vérifier - mais il pourrait aussi casser en subtile une manière qui serait très difficile à déboguer. Après tout, qui sait exactement ce que le .NET 3.0 d'installation fait? est-ce que vous voulez chasser toutes les clés de registre, il écrit? vous peut sortir avec elle, mais je pense que c'est une mauvaise idée.)

Autres conseils

Je peux penser à deux possibilités:

  1. Essayez l'un des systèmes qui reliera les nombreux dll utilisés par votre application en un seul exe. L'un de ces outils est décrit ici: http://www.remotesoft.com/linker/linker_faq. html
  2. .NET 3.0 a été la plupart du temps quelques nouvelles dll (WPF, WCF et WF) ajouté dans .NET 2.0. Vous pouvez probablement avec simplement copier les dll appropriés ainsi que votre application. (Plusieurs personnes pensent que c'est une idée dangereuse, mais vous ne saurez pas vraiment jusqu'à ce que vous essayez.)

Tu ne peux pas mettre un « proxy » entre les deux? Ainsi, vos discussions POS au proxy en utilisant SOAP / ASMX et le proxy parle alors au service WCF.

Je suis d'accord, en essayant de « pirater » DLL .NET 3.0 dans un système .net 2.0 sonne comme un monde de douleur.

La réponse est pas. Vous ne pouvez pas installer ou d'utiliser une certaine façon WCF sur un système 2.0

Vos options sont:

  • WCF est conçu pour fonctionner avec toutes les normes WS- *. Vous pouvez utiliser Web Services Enhancements (WSE) 3.0 ou code main votre propre classe en utilisant des classes .NET Remoting.
  • Vous pouvez regarder Mono Olive. Il est censé être la réplication open source de WCF.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top