2012-03-24 4 views
1

Ich entwickelte eine WCF-Anwendung, und ich möchte es in einem Programm verpacken, das von normalem Benutzer installiert werden kann, ohne Visual Studio oder IIS auf seinem Computer zu installieren.Host eines WCF-Diensts in einer Anwendung

Dieser WCF wird von einem anderen Rechner mit Hilfe der IP-Adresse des Rechners aus der Ferne aufgerufen.

Was schlagen Sie für diesen Fall vor?

Antwort

3

Sie können Ihre WCF-Dienste als Windows-Dienst hosten und den HTTP-Endpunkt verwenden.

Überprüfen Sie auch diese link.

+0

Für diejenigen, die diesen Fehler "Die Installation fehlgeschlagen" erhalten, versuchen Sie, Visual Studio-Eingabeaufforderung im Administratormodus zu öffnen;) –

5

Sie können den den WCF-Dienst in einer Konsolenanwendung hosten. Der offensichtliche Nachteil besteht darin, dass jemand zuerst die Konsolenanwendung auf dem Hostcomputer starten muss, damit der WCF-Dienst remote verfügbar ist. Wahrscheinlich möchten Sie 24/7/365 Zugriff auf den WCF-Dienst haben. In diesem Fall sollten Sie ihn in einem Windows-Dienst hosten, wenn IIS keine Option ist. Nichtsdestotrotz finden Sie unter this SO question heraus, wie Sie Ihren Windows-Dienst als Konsolenanwendung nutzen können, um das Debuggen zu vereinfachen.

In Bezug auf die Wahl der Bindung habe ich diese Tabelle immer hilfreich gefunden.

WCF Binding Selection Flow Chart.

Da Sie explizit die Verwendung der IP-Adresse der Maschine erwähnt haben, würde ich mich zu NetTcpBinding neigen, vorausgesetzt, Firewalls werden kein Problem sein.

+0

Vielen Dank! Ich lerne WCF und das ist eine unglaublich nützliche Tabelle für mich. – Animesh

+0

Ich wünschte, ich könnte dafür Kredit nehmen, aber es ist nicht meiner. Wie Sie, ich habe es sehr nützlich gefunden. –

Verwandte Themen