HAUPPAUGE WinTV-PVR und Media Center Edition 2005: Fernbedienung
  
Autor: Marcel Binot Erstellt: 15.12.2005
Marcels Blog

Verblüffend einfach kann man Silverlight in DotNetNuke einbinden. Mit einem kleinen Kniff kann man dann dynamisch Inhalte aus DotNetNuke in Silverlight anzeigen...

Read More »

Aller Anfang ist schwer. Insbesondere bei der Verwendung von Webservices für das AJAX Toolkit. Nicht, weil die Doku schlecht ist, oder die Anwendung der Controls so schwierig (ganz im Gegenteil), sondern weil man einfach nicht sieht, was da passiert, wenn die SOAP-Calls abgesetzt werden. Schlimmer noch: Man kann sich ja nicht einmal sicher sein, dass sie abgesetzt werden.

Was tun, wenn man nichts sieht? Augen aufmachen! In diesem Fall heißt das: den Fiddler installieren. Dieses Tool arbeitet als Proxy zwischen dem IE und dem Web und zeichnet den Datenverkehr auf. Somit werden auch die sonst "unsichbaren" SOAP-Aufrufe sichtbar. Vorsicht: Der Fiddler zeichnet http://localhost/... nicht auf. Hier muss man sich mit der aktuellen IP oder dem Computernamen behelfen!

Mit Hilfe des Fiddlers lassen sich die kleinen Hürden nun schnell meistern. Unter DNN gibt es allerdings noch einen Kniff in Bezug auf den ServicePath. Normalerweise gibt man hier im Control die URL zum...

Read More »

Bei der Verwendung der DotNetNuke ClientAPI stieß ich trotz ausführlicher Dokumentation von Jon Henning schnell auf offene Fragen. Insbesondere war mir anfangs unklar, in welcher Methode ich welche Registrierungen oder Initialisierungen vornehmen mussste. Im folgenden kläre ich einige davon auf...

Read More »

Für ein Projekt stand ich plötzlich vor der Aufgabe ein Modul programmatisch unsichtbar schalten zu müssen und stellte fest: Die Visible-Eigenschaft des Modul hilft da kaum weiter, denn damit schaltet man ja nur den Inhalt des Containers ab. Aber es geht auf andere Weise...

Read More »

error (0x800CCC0F) : 'The connection to the server was interrupted. If this problem continues, contact your server administrator or Internet service provider (ISP). The server responded: +OK'.

Dieser Fehler tritt des öfteren bei bestimmten Spam-Mails in Verbindung mit Norton Anti Virus auf. Beim Herunterladen der Mails vom Mailserver wird die Verbindung plötzlich unterbrochen, sobald eine dieser ominösen Spam-Mails gefunden wird. Besonders störend ist, dass die bis dato heruntergeladenen Mails auf dem Mailserver nicht gelöscht werden. Wenn man nicht zufällig manuell auf den Server zugreifen kann, hat man schlechte Karten. Bei Symantec ist das Problem zwar bekannt (siehe Support-Artikel), allerdings fand ich dort bisher nur den Tip, die Email-Prüfung auszuschalten ( Uff! Das muss...

Read More »

Viele Schwierigkeiten von Einsteigern bei der Erstellung eigener (Custom-)Controls ergeben sich aus der Unkenntnis des genauen Lebenszyklus eines solchen. Meist rühren die Probleme daher, dass bei einem PostBack der Zustand des Controls (samt seiner ChildControls) nicht 1:1 wieder hergestellt wird. Die Folge davon ist, dass beispielsweise die Event-Handler nicht mehr richtig zu den Controls zugeordnet werden können. (Dabei können erstaunliche, scheinbar mysteriöse Nebeneffekte auftreten, die, wenn sie den leidgeplagten Programmierer nicht zur Verzweiflung treiben würden, wirklich lustig wären. Beispielsweise wird statt des erwarteten, registrierten Event-Handler eines Controls auch schonmal der eines vollkommen anderen aufgerufen.)

Zu diesem Thema kann ich übrigens das Buch "ASP.NET Server Controls and Components" von Nikhil Kothari und Vandana Datye (erschienen im Microsoft-Verlag) emfpehlen. Darin ist auf Seite 175 auch der Lebenszyklus eines CustomControl abgebildet. Leider fehlen mir in dieser Darstellung...

Read More »

Endlich ist es geschafft! Meine Direktanbindung an den Paymaster der Firma GZS funktioniert endlich.

Ich kann Euch gar nicht sagen, wieviele Nerven mich das gekostet hat. (An dieser Stelle noch einmal vielen Dank an die freundliche Dame vom GZS-Support-Team, die meinen ständigen Anfragen mit einer Engelsgeduld entgegentrat.)

Die Klasse, in der ich alle Funktionen zur direkten  Kommunikation mit dem Paymaster gekapselt habe, steht eigentlich schon eine ganze Weile. Patrick hatte mir für erste Tests einen kleinen Server geschrieben, mit dem man den Paymaster simulieren konnte. Wir haben damit zunächst "Trockenübungnen" gemacht, weil unser Testaccount noch nicht fertig war.

Als es dann zur Sache ging, traten schnell die ersten Probleme auf. Der Verbindungsaufbau klappte, aber der Paymaster meldete uns statt eines fröhlichen "HTTP/1.1 200 OK" dauernd ein frustrierendes "HTTP/1.1 100 Continue". Mistfink! Sobald wir...

Read More »

Es gibt in der web.config die Möglichkeit, die Applikation auf ein Sprachgebiet einzustellen. Das ist besonders dann wichtig, wenn man Umlaute in Requests verwenden möchte - mit UTF-8 (Standard-Eintellung) kommt man sonst natürlich nicht weit.

Alles was dafür zu tun ist, ist den Knoten innerhalb der von  zu definieren. Das könnte z.B. so aussehen:

globalization fileEncoding="iso-8859-1" requestEncoding="iso-8859-1" responseEncoding="iso-8859-1">

Damit erreicht man z.B., dass Umlaute in Parametern richtig zurückgegeben werden. Ein Aufruf von, sagen wir,string meinParameterWert= Context.Request.QueryString["meinParameter"];liefert daraufhin auch äs, ös, üs und Konsorten.

Kleiner Trick, große Wirkung...:)

...

Read More »

WebServices auf Basis von XmlRpc zu implementieren ist easy und in vielen Fällen absolut ausreichend. Doch wie sieht's mit SOAP aus? In PHP? Eine Low-Level-Unterstützung (wie bei XmlRpc) gibt es für SOAP leider nicht. Auf soapware.org fand ich verschiedene Ansätze für PHP. PEAR bietet sicherlich eine gute Implementierung, aber man benötigt dann natürlich x andere PEAR-Klassen. Das erschien mir irgendwie zu wulstig.Schnell landetet ich bei nuSphere von Dietrich Ayala. (Ich erinnere mich dunkel, dass ich vor zwei Jahren mit einem ersten Ansatz dieses Autors herumgespielt und erste WebService-Erfolge erzielt hatte. Das hat meine Entscheidung sicherlich beeinflußt...)Nach wenigen Minuten hatte ich einen kleinen Test-Service eingerichtet; kurze Zeit später einen Test-Client - easy!

Jetzt wollte ich natürlich wissen, ob man auch mit einem fremden Client auf den Server zugreifen kann. Doch schon...

Read More »

Tja, mit den kompexen Datentypen und nuSOAP hatte ich heute erhebliche Probleme. Selbst das Beispiel von D.Ayala bekam ich nicht zum Laufen. Es haperte daran, dass ich die über $server->wsdl->addComplexType() erzeugten Datentypen nicht mit ihrem Namespace ('tns:...') registrieren konnte. Mit dem Namespace 'xsd:..' ging es, aber dann wurden die Methoden im Studio (bzw. der Web-Referenz) nicht richtig erkannt.

Patrick überedete mich dann von nuSOAP abzusehen und die PEAR-Implementierung auszuprobieren. Nachdem die abhängigen Pakete identifiziert und installiert waren (PEAR, Mail_MIME, HTTP_Request, Net_Url, Net_Dime, und Net_Socket), hatte ich schnell einen einfachen Server laufen - allerdings noch ohne komplexe Datentypen.Für die Registrierung von Servermethoden steht keine Methode zur Verfügung, sondern man erzeugt einen Hash-Eintrag in der Eigenschaft __dispatch_map:$this->__dispatch_map['Echo'] =array('in' => array('message' => 'string'),'out' => array('outputString' => 'string'));

Auch die Registrierung von...

Read More »

Nutzungsbedingungen
(c) 2010 e-llusions