Frage

Wir brauchen einen WCF-Dienst auf einem Computer zu implementieren, die .NET 2.0 nur ausgeführt werden kann.

Die Maschine ist ein Windows XPe-POS-Terminal, und wir haben keine Möglichkeit, installieren .NET 3.0 gefunden. Wir können wirklich nicht formatieren Sie es mit einem neuen XPe Bild, weil es eine proprietäre POS-Anwendung und Treiber installiert ist.

Gibt es eine Möglichkeit, einen WCF-Dienst auf .NET 2.0 implementieren zu tun? Wir können die Standard XmlSerializer für die Nachrichten verwenden, wie .NET CF tut, aber .NET CF unterstützt nicht ein Server sein ...

Eine alternative Lösung ist irgendwie .NET 3.0 zu installieren. Das Setup beschwert sich über Windows XP SP2 nicht installiert ist, und Windows Update nicht auf XPe funktioniert .

Irgendwelche Ideen?

UPDATE: Wir würden auch gerne die Möglichkeit nutzen SOAP Web-Services, aber unser Ziel Plattform verfügt nicht über IIS installiert . Kennt jemand einen guten (Produktionsqualität) Weg, um einen .NET 2.0 Web-Service ohne IIS zu hosten?

LÖSUNG: Wir verwenden Cassini mit .NET 2.0 Web-Services wie die deutliche Antwort vorgeschlagen. Dies scheint auch so weit zu arbeiten. Danke für die Hilfe.

War es hilfreich?

Lösung

Es klingt wie Sie die meisten der Möglichkeiten ausgeschöpft haben. Gibt es einen Grund, warum Sie WCF verwenden anstelle der einfachen SOAP Web Services, die 2.0 unterstützt aus der Box .NET? Während ich es frustrierend verwenden, um die ältere Technologie verstehen, vermute ich Ihnen den relativ Mainstream-Weg, indem Sie unten weniger Probleme haben werden als irgendwie eine WCF-Implementierung auf .NET 2.0 Schuster zusammen.

(ich würde empfehlen dringend, gegen versuchen, die .NET 3.0 Baugruppen auf .NET 2.0 verwenden Es kann auch die Lizenz verletzen -. Sie würde überprüfen müssen - aber es könnte auch in subtiler brechen Möglichkeiten, die sehr schwer zu debuggen sein würde. Denn wer weiß, genau , was die .NET 3.0-Installer tut? haben Sie es jeden Registrierungsschlüssel jagen wollen schreibt? Sie können davonkommen, aber ich denke, es ist eine schlechte Idee.)

Andere Tipps

kann ich denke an zwei Möglichkeiten:

  1. Versuchen Sie eines der Systeme, die die vielen DLLs durch Ihre Anwendung in einer einzigen EXE verwendet verbinden wird. Eines dieser Werkzeuge ist hier beschrieben: http://www.remotesoft.com/linker/linker_faq. html
  2. .NET 3.0 war meist ein paar neuen DLLs (WPF, WCF und WF) hinzugefügt in .NET 2.0. Sie können sich wahrscheinlich mit lediglich das Kopieren der entsprechenden DLLs zusammen mit Ihrer App wegzukommen. (Mehrere Leute denken, das ist eine gefährliche Idee, aber Sie werden nicht wirklich wissen, bis Sie es versuchen.)

Können Sie nicht ein „Proxy“ dazwischen setzen? So Ihre POS sprechen mit dem Proxy mit SOAP / ASMX und die Proxy dann im Gespräch mit dem WCF-Dienst.

Ich bin damit einverstanden, zu versuchen, "Hack" .net 3.0 DLLs in ein .net 2.0-System wie eine Welt von Schmerz klingt.

Die Antwort ist nicht. Sie können nicht WCF installieren oder irgendwie auf einem 2.0-System verwenden

Ihre Optionen sind:

  • WCF ist gebaut mit allen WS- * Standards zu arbeiten. Sie können Web Services Enhancements (WSE) 3.0 oder Hand-Code Ihre eigene Klasse mit Remote .net-Klassen verwenden.
  • Sie können auf Mono Olive aussehen. Es sollte Open-Source-Replikation von WCF sein.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top