2 Stimmen

WCF: Webdienst oder nicht?

Ich bin gerade dabei, eine ASP.NET-Web-App zu erstellen, die einen WCF-Service aufrufen soll... Der WCF Service hat 2 Methoden:

Bitmap TakeScreenDump(string websiteUrl, int width, int height);
Bitmap GenerateThumbNail(Bitmap source, int width, int height);

Der Zweck meiner ASP.NET-Webanwendung besteht darin, dass ein Benutzer einen Screenshot für eine bestimmte Website anfordert, den die Webanwendung dann an den WCF-Dienst weitergibt.

Jetzt ist meine Frage: Soll ich den WCF-Dienst als Webdienst (http-Bindung) erstellen? oder soll ich ihn als Konsolendienst erstellen ( net.tcp )? Mein WCF-Dienst wird von niemandem außer mir verwendet werden.

Welche Vorteile/Nachteile haben diese beiden in diesem Fall?

4voto

John Saunders Punkte 159011

Das spielt keine Rolle. Der Servicecode ist genau derselbe.

Es ist eines der wichtigsten Merkmale von WCF, dass der Dienst von der Bindung getrennt ist. Wenn Sie mehr als eine Bindung verwenden möchten, erstellen Sie den Dienst als "WCF Service Library"-Projekt. Dann können Sie ihn in einer Konsolenanwendung, einem Windows-Dienst oder einer anderen Anwendung hosten und die gewünschte Bindung verwenden.

Es gibt eigentlich keinen Grund, warum Sie nicht beides tun können. Sie können es in einer Konsolenanwendung unter Verwendung einer der HTTP-Bindungen hosten, wenn Sie möchten.

0 Stimmen

@John Saunders - Es ist also nur eine Frage des Geschmacks, ob man in meinem Fall einen Webdienst verwendet?

0 Stimmen

@EBB: Ihre Terminologie ist auch ein Problem. Es ist eine Frage des Geschmacks und der Anforderungen, ob der Dienst über das Web zugänglich ist und mit welchen Protokollen. Es gibt keinen Grund, warum ein WCF-Dienst nicht net.tcp und trotzdem über das Internet zugänglich sein (jedenfalls für WCF-Clients). Diese Entscheidungen sind voneinander unabhängig.

0 Stimmen

@John Saunders - Verzeihen Sie mir meine Dummheit, aber... wenn net.tcp über das Internet zugänglich ist, warum sollte man dann einen Webdienst anstelle eines Dienstes verwenden, der net.tcp verwendet und von einer Konsolenanwendung gehostet wird?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X