Zurück   Entwickler-Forum > .NET > Web Services

Antwort
 
Themen-Optionen Ansicht

Ist eine Kommunikation über Port 80 mit Callback möglich?
Alt 13.12.2009, 12:20   #1
Manfred Süsens
Zaungast
 
Manfred Süsens ist offline
Registriert seit: 26.02.2003
Beiträge: 47
Manfred Süsens befindet sich auf einem aufstrebenden Ast
Standard Ist eine Kommunikation über Port 80 mit Callback möglich?

Hallo,

beschäftige mich jetzt einige Zeit mit WCF und versuche einen bestimmten Aufbau umzusetzen b.z.w. zu verstehen. Bin aber noch nicht dahinter gekommen, wie das Binding funktionieren soll. Vielleicht kann mir jemand beim klären helfen.

Aufbau:
Auf einer bekannten Maschine läuft ein Werbserver der anfragende Clients mit den IExplorer Seiten versorgt. Diese Seiten sind Silverlight XAML Seiten, die UserControls enthalten. Diese UserControls fragen Daten über den Webserver von nachgelagerten Datenquellen (z.B.: via OPCServer aus SPS) an und werden auch bei Datenänderung benachrichtigt. Das Ganze soll mittels http ablaufen und über Port 80 stattfinden, damit keine Firewall blockt.

Das Ziel:
Die Server Maschine ist also speziell eingerichtet und besitzt auch alle Rechte. Von der Außenwelt kann sich jeder Client ohne Rechte und zusätzliche Installation verbinden und die Seiten mit online Daten anzeigen.

Was ich bis jetzt gefunden habe:

Zuerst das ABC:

- A: http://localhost/test , also http Protokoll und Port 80 (default,
wenn keine Angabe) wegen FireWall, die ist ja bei 80 überall offen.
- B: Hier scheiden sich schon die Geister. Es gibt (u.a.):
> WCF BasicHttpBinding (nur Verbindung und keine Rückmeldung)
> wsDualHttpBinding (Verbindung mit einmaliger Rückmeldung)
> PollingDuplexHttpBinding (Verbindung mit einmaliger Rückmeldung
und gepollter Client anfrage)

Das wsDualHttpBinding würde ja alles erfüllen, wenn nicht bei
Datenänderung ein CallBack nötig wäre und die UserControls
benachrichtigt werden müssten. Da der Client sich aber über http
verbindet, hat dieser keinen Endpunkt. Also wie soll man das
UserControl erreichen? Polling kann es ja eigentlich nicht sein. Wenn
ich mir vorstelle das 100 UserControls auf der Seite sind und 20
Clients beim Server anfragen dürfte die Leitung beim Polling dicht sein!

- C: Als Contract kann eigentlich nur CallbackContract in frage kommen,
damit ein UpDate stattfinden kann.

Liege ich falsch mit meinen Überlegungen, oder gibt es noch einen anderen Weg? Es gibt eine Applikation die behauptet wie oben beschrieben zu funktionieren, aber wie soll das gehen?

Wäre dankbar für eine Hilfe, Danke.
  Mit Zitat antworten

Anzeige

Alt 13.12.2009, 19:02   #2
hwoess
Stammgast
 
hwoess ist offline
Registriert seit: 26.02.2003
Ort: Linz / Österreich
Beiträge: 1.399
hwoess befindet sich auf einem aufstrebenden Ast
Standard

Ich würde mal sagen, da hängt alles von der zu bewegenden Datenmenge ab. Wenn du 20 pollende Clients hast, die alle 5 Minuten nach den Top 10 der Hitparade fragen, dann sollte der Webserver das eigentlich schaffen Wenn du aber auf die Art streaming radio machen willst, wird es damit wohl nicht funktionieren. Könntest du uns daher vielleicht anhand eines Beispiels zeigen, um was und in welchem Unfang es da geht?

bye,
Helmut
  Mit Zitat antworten

Alt 14.12.2009, 10:23   #3
Manfred Süsens
Zaungast
 
Manfred Süsens ist offline
Registriert seit: 26.02.2003
Beiträge: 47
Manfred Süsens befindet sich auf einem aufstrebenden Ast
Standard

Das ist nicht ganz so einfach, da das von der Änderung der Daten abhängig ist. Aberr nehmen wir doch einfach mal an:
Jedes UserControl zeigt 4 Datenpunkte, ein Bool und zwei Int32 und ein Float. Diese Daten ändern sich alle Sekunde. Die Übertragung von der Quelle (also Server) bis zum Ziel (visuelle Anzeige im UserControl) soll so schnell wie möglich stattfinden. Ist auch wünschenswert, da die Daten Prozesse in irgend welchen Anlagen bedeuten. Und die möchte ich sozusagen Online sehen.
  Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
binding, callback, silverlight, wcf

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu



Alle Zeitangaben in WEZ +2. Es ist jetzt 19:34 Uhr.



© 1995–2009 Software & Support Verlag GmbH. Vervielfältigung nur mit Genehmigung des Verlags.