Service programmieren



  • Moin,

    möchte eine Art Service programmieren, der im Hintergrund auf einem Rechner läuft und von verschiedenen Anwendungen angesprochen werden kann.

    Es soll folgender maßen ablaufen:

    Eine Anwendung oder ein anderes Tool soll das Programm aufrufen und zugleich Parameter mit übergeben. Also ungefähr so: servicexy(Parameter1, Parameter2)
    Diese Parameter sollen in dem Programm verarbeitet werden und aus dem Programm heraus in eine Datenbank geschrieben werden.

    Ob es unbedingt ein Service sein muss, weiss ich nicht.

    Hab mir überlegt, evtl. ein Programm mit Visual Studio zu schreiben und die Exe Datei als Service zu "deklarieren". Dieser läuft dann immer im Hintergrund und stellt eine Funktion bereit, die aufgerufen werden kann.

    z.B.
    Wie Übergebe ich einer Anwendung von außen Parameter?
    Wie rufe ich so einen Service auf?
    Muss es überhaupt ein Service sein?

    Wäre Euch dankbar, wenn ihr mir paar Tipps geben könntet. Komme überhaupt nicht weiter.

    Danke!

    Flens



  • Gibts mehrere Möglichkeiten. Da du EXE genannt hast, vermute ich mal für Windows? Da solltest du mal was zu Interprocess-Kommunikation nachschauen:
    http://www.codeproject.com/threads/#Inter-Process+Communication

    Ansonst kann man auch Corba machen. Gibts im Netz bestimmt auch was.



  • danke für die Hilfe,

    ist aber glaub ich nicht so ganz das, was ich brauche.

    Mir geht es eher darum, ein fertiges C# Programm auf einem Rechner laufen zu lassen, das einfach aufgerufen werden kann und dann DB Einträge vornimmt.

    Es gibt doch "Net Send" als Dienst bei Windows. Vergleichbar soll mein Programm auch funktionieren.
    Daher meine Frage, wie man so ein Programm läufen lässt, damit es einfach (wie Net Send) angesprochen werden kann und Daten weiterverarbeitet.



  • Nur zur Information: Wenn du "net send ip msg" eingibst wird die Datei net.exe gestartet 👍

    ich glaube du willst bestimmt kein Dienst.

    Gruß



  • Möchte wie bei net.exe auch Parameter beim Start übergeben können.

    Mein Problem ist, wie verarbeitet ich im Quellcode die übergebenen Parameter?



  • int main(int argc, char* argv[])
    {
    	return 0;
    }
    

    argc = Anzahl Argumente
    argv = Array aus C-Strings (die Argumente)

    Gruß



  • ok, klingt logisch 🙂

    Damit könnte mir erstmal geholfen sein.

    Jetzt noch ne Frage zur Anwendung:

    wollte das in C# implementieren. Hab da folgendes stehen:

    static void Main() 
    {
       Application.Run(new Form1());
    }
    

    kann ich das überhaupt darauf in dieser Form anwenden?



  • Ich vermute mal es wird dort void main( string argv[] ) sein, aber da fragst du besser im richigen Forum 🙂

    Mit "net" kannst du übrigens Anwendungen als Services/Dienste starten.



  • Danke, das funktioniert jetzt. Deine Vermutzung war richtig 👍

    welches "net" meinst Du genau? .Net oder net.exe 😕



  • Die net.exe


Anmelden zum Antworten