Archiv für die Kategorie „coding“

Streaminhalt im Debugger

Mittwoch, 17. Februar 2010

Sitzt man mal wieder vor dem Debugger und interessiert sich, was nun eigentlich für Daten in diesem Stream stehen, dann hilft das Immediate Window. Aber selbst damit ist es mir bisher nicht unbedingt einfach gefallen.

Folgendes Snippet erfüllt den Job aber als Einzeiler:

File.WriteAllText("c:\\streamOut.txt", new StreamReader(meinStream).ReadToEnd());

Zu beachten ist, dass je nach Typ von meinStream die Position anschließend zurück gesetzt werden muss oder auch, das dies gar nicht möglich ist und daher die weitere Programmausführung fehlerhaft wird.

BizTalk: Verschiedene Receives in Kombination mit Correlation Sets

Sonntag, 14. Februar 2010

Ausgangslage ist eine Orchestration, die eine Nachricht empfängt und auf Grundlage dieser Nachricht verschiedene Aktionen ausführt. Aus der ersten Nachricht ist auch abzuleiten, ob weitere Nachrichten empfangen werden müssen um die Aufgabe zu leisten.

Ich hatte nun den Fall, dass ich neben dem schon existierenden Pfad(linker Teil der Grafik) einen zusätzlichen Fall hatte, bei dem ein Direct Receive aus der MessageBox nötig war. Kommt die Nachricht aus der MessageBox, ist (für diesen Fall) klar, dass es keine Folgenachrichten gibt.

Man kann eine Orchestration nun nicht nur über ein Receive-Shape starten lassen, sondern auch auch über mehrere Receives, die in einem Listen-Shape untergebracht wurden. Das hatte ich dann auch versucht.

image

Auch wenn aus logischer Sicht kein Pfad möglich ist, der vom Direct Receive zum “Receive Follower” führt, verwehrt BizTalk die Kompilierung dieser Orchestration.

Der Versuch, den Receive aus dem Receive Port durch einen Filter auf der MessageBox zu formulieren fruchtete ebenfalls nicht. Finales Ergebnis war, die gemeinsame Funktionalität in einer separaten Orchestration auszulagern und für den Direct Receive eine zusätzliche Orchestration zu bauen, die einen Call macht.

Außerdem ist die Fehlermeldung “unknown system error” auch sehr hilfreich beim Finden des eigentlichen Problems, denn eigentlich ist die Orchestration viel größer, als hier auf dem Screenshot zu sehen.

Netter Tipp

Mittwoch, 4. November 2009

image

—————————
Netter Tipp von Fabse.net!
—————————
Bekommt man so Fehlermeldungen und will die googeln, dann muss man immer die lästigen 0×0815-Fehlermeldungen abtippen. Aber es geht einfacher. STRG+C und man hat die Meldung in der Hand!
—————————
Ja   Nein   Abbrechen  
—————————

Orginaler Tipp kam von meinen Arbeitskollegen Martin!