locked
Windows Service und WCF RRS feed

  • Frage

  • Hallo,

    ich habe einen Windows Service geschrieben, der eine DB auf Änderungen überwacht. Die Änderungen müssen dann an einen WCF weitergegeben werden, der diese dann in eine neue DB schreibt. Der WCF Dienst existiert bereits.

    Bisher kann ich potentielle Änderungen zwar in eine Datei schreiben. Wie aber kann ich den Windows Service anweisen die Änderungen an den WCF-Dienst weiterzugeben?

    Über einen konkreten Denkanstoß wäre ich sehr dankbar.

    Vielen Dank schon mal.

    Donnerstag, 14. Juni 2012 18:00

Antworten

  • Hallo,

    wie man einen WCF Service erstellt und dann hinter von einem Client drauf zugreift wirst Du evtl. am besten an Hand eines Videos verstehen:

    http://www.youtube.com/watch?v=b0_hrKUQPBM

    Ich hoffe das hilft.

    Gruß Timo

    Donnerstag, 14. Juni 2012 20:01
  • Wie gesagt, die Daten kann ich aus der DB mit dem Windows Service bereits lesen. Wie funktioniert der Weitertransport zum WCF?

    Hallo Mario,

    Du musst in Deinem Projekt einen Dienstverweis auf den WCF Service setzten, siehe Gewusst wie: Hinzufügen eines Verweises auf einen Webdienst

    Dabei wird auch immer eine Client Klasse generiert bzw. bei OData die Entities Klasse. Wenn Du die instanziierst, kannst Du auf alle bereit gestellten Methoden des Services zugreifen.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Montag, 18. Juni 2012 06:48
  • Es dürfte doch eigentlich kein Problem sein, wenn sich Windows Service und WCF in einer Projektmappe befinden, oder irre ich?

    Hallo Mario,

    Nein und dafür gibt es ja auch extra den Button "Ermitteln => Dienste in der Projektmappe" beim Hinzufügen von Verweisen.

    Allerdings solltest Du das Projekt mit dem Service vorher einmal erstellen lassen und am besten auch einmal kurz gestartet haben (ist so meine Erfahrung).


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Montag, 18. Juni 2012 07:45
  •  oder wie verhält sich das ganze hier?


    Das weiß ich nicht, ich kenne Deinen Programm Code nicht. Grundsätzlich geschieht nur das wenigst automatisch; was Du also nicht programmiert hast, gibt es auch nicht als Programmfunktion. Selbst wenn den WCF Service einen OData Data Service ist, musst Du schon die Entities selbst hinzufügen und die Änderungen speichern lassen.

    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Montag, 18. Juni 2012 08:48

Alle Antworten

  • Hallo,

    wie man einen WCF Service erstellt und dann hinter von einem Client drauf zugreift wirst Du evtl. am besten an Hand eines Videos verstehen:

    http://www.youtube.com/watch?v=b0_hrKUQPBM

    Ich hoffe das hilft.

    Gruß Timo

    Donnerstag, 14. Juni 2012 20:01
  • Hallo,

    vielen Dank für den Hinweis. Habe mir das Video einmal angesehen, dennoch bin ich nicht unbedingt weiter als vorher. In dem Tuto wird eine GUI für die Abfrage der zur Verfügung gestellten Services des WCF erzeugt.

    Wie aber kann mir das Tuto helfen die ausgelesenen Daten aus dem Windows Service zum WCF zu transportieren? Irgendwie stehe ich da auf dem Schlauch.

    Wie gesagt, die Daten kann ich aus der DB mit dem Windows Service bereits lesen. Wie funktioniert der Weitertransport zum WCF?

    Gruß

    Mario

    Montag, 18. Juni 2012 04:50
  • Wie gesagt, die Daten kann ich aus der DB mit dem Windows Service bereits lesen. Wie funktioniert der Weitertransport zum WCF?

    Hallo Mario,

    Du musst in Deinem Projekt einen Dienstverweis auf den WCF Service setzten, siehe Gewusst wie: Hinzufügen eines Verweises auf einen Webdienst

    Dabei wird auch immer eine Client Klasse generiert bzw. bei OData die Entities Klasse. Wenn Du die instanziierst, kannst Du auf alle bereit gestellten Methoden des Services zugreifen.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Montag, 18. Juni 2012 06:48
  • Hallo Olaf,

    vielen Dank für Deinen Tipp. Hatte allerdings vergessen zu erwähnen, dass der Windows Service sowie die WCF Services in ein und derselben Projektmappe liegen.

    Bin die Anleitung durchgegangen und mittels des Wizards finde ich zwar Services aus eben jener Projektmappe, kann sie aber nicht ansprechen, da Parser-Error.

    Es dürfte doch eigentlich kein Problem sein, wenn sich Windows Service und WCF in einer Projektmappe befinden, oder irre ich?

    VG

    Mario

    Montag, 18. Juni 2012 07:32
  • Es dürfte doch eigentlich kein Problem sein, wenn sich Windows Service und WCF in einer Projektmappe befinden, oder irre ich?

    Hallo Mario,

    Nein und dafür gibt es ja auch extra den Button "Ermitteln => Dienste in der Projektmappe" beim Hinzufügen von Verweisen.

    Allerdings solltest Du das Projekt mit dem Service vorher einmal erstellen lassen und am besten auch einmal kurz gestartet haben (ist so meine Erfahrung).


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Montag, 18. Juni 2012 07:45
  • Hallo Olaf,

    Merci nochmal für Deine schnelle Hilfe.

    Eine dumme Frage habe ich allerdings noch: Hostet der Windows Service den WCF Service, um die o.g. Änderungen der DB dann mittels der Methoden aus dem OperationContract in die neue DB zu schreiben, oder wie verhält sich das ganze hier?

    Montag, 18. Juni 2012 08:37
  •  oder wie verhält sich das ganze hier?


    Das weiß ich nicht, ich kenne Deinen Programm Code nicht. Grundsätzlich geschieht nur das wenigst automatisch; was Du also nicht programmiert hast, gibt es auch nicht als Programmfunktion. Selbst wenn den WCF Service einen OData Data Service ist, musst Du schon die Entities selbst hinzufügen und die Änderungen speichern lassen.

    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Montag, 18. Juni 2012 08:48
  • Hallo mayokoe,

    Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert


    Robert Breitenhofer, MICROSOFT  Twitter Facebook
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Donnerstag, 2. August 2012 14:08
    Moderator