2009-07-21 2 views
2

Ein schnelllebiger Foodservice-Unternehmen möchte, dass ich ein Online-Bestellformular entwickle, damit Kunden online Bestellungen zur Abholung oder Zustellung aufgeben können. Eine der angeforderten Anforderungen besteht darin, einen neu erzeugten Auftrag automatisch an den Servicezähler zu drucken.Automatisch einen neuen Auftrag aus der Webanwendung drucken

Ich benutze C#, asp.net, SQL auf gehosteten 3rd-Party-Server. Welchen Typ (Web, Konsole, Winforms) der App würden Sie für den Service-Zähler bereitstellen, um Aufträge anzuzeigen/zu überprüfen, aber auch automatisch neue Aufträge zu drucken?

+0

Es hängt davon ab, welche Art von Druck sie suchen? Wenn es textbasiert ist (kein Bild/Grafik), ist es besser mit einer Konsolen-App. – shahkalpesh

Antwort

2

Da Ihr Gesamtprojekt mindestens eine Webanwendung (für das Kundenauftragsformular) enthalten muss, besteht die einfachste Lösung darin, dass dies nur eine Webanwendung mit einem Teil für das Bestellformular und einem anderen Teil für den Serviceschalter ist Bestellungen prüfen. Das Drucken von einer Webanwendung zu einem Drucker, der mit dem Webserver verbunden ist, ist in ASP.Net einfach, sodass Sie keine WinForms-Komponente hinzufügen müssen.

Bearbeiten: Wenn der Webserver gehostet wird, könnten Sie dies dennoch zu einer Allweb-App-Lösung machen, aber das Drucken von Client-Seite aus einem Browser ist ein Schmerz und relativ unzuverlässig. Es ist wahrscheinlich einfacher, eine Web-App für die Kundenbestellseite zu haben, zusammen mit einem Webservice, der die zu druckenden Aufträge zurückgibt, und dann eine WinForms-App (vermutlich auf einem PC), die die Bestellungen anzeigt und sie an einen angeschlossenen Drucker ausgibt . Die WinForms-App könnte den Web-Service alle 30 Sekunden abfragen (Sie können auch einen Web-Service einrichten, der "Callbacks" an einen registrierten "Push" -Stil macht, aber das ist eine Art Ärger) und hervorragend werden Aufträge, die gedruckt und angezeigt werden müssen.

+0

Ja, aber der Webserver wird gehostet ... nicht vor Ort. – studiothat

+0

Entschuldigung, ich habe diesen Teil beim ersten Mal nicht verstanden. – MusiGenesis

1

Eine Möglichkeit besteht darin, Bestellungen in einer Datenbank (oder einer Datei auf dem Webserver) zu speichern und dann eine Abfrageanwendung vor Ort zu sehen, die sieht, ob eine neue Bestellung eingegeben wurde. Wenn dies der Fall ist, wird es gedruckt und ein Flag gesetzt (wenn Datenbank) oder die Bestellanforderung löschen (wenn Dateibasis), um anzuzeigen, dass es gehandhabt wurde.

0

Ich würde mit Michael übereinstimmen. Sie könnten eine sehr einfache Anwendung mit RestClient schreiben, die ein Bestellticket auf einen seriellen Drucker drucken würde - die Epson TM -Serie funktioniert großartig. Es ist so einfach wie das Lesen der Daten mit RestClient und das Schreiben einer Textdatei auf den seriellen Drucker.

Die Verwendung einer Skriptsprache würde dies zu einer schnellen Aufgabe machen, und da es tatsächlich Daten von verschiedenen Diensten zusammenstellt, wäre Scripting angemessen. Ich bin mir sicher, dass es äquivalente Möglichkeiten gibt, um es mit nativen APIs und mit der Sprache zu erreichen, die Sie mögen, aber oft ist der einfachste Weg der beste.

Verwandte Themen