Die Pipe wurde beendet. (109, 0x6d)

 [System.ServiceModel.CommunicationException] = {"Fehler beim Lesen aus der Pipe: Die Pipe wurde beendet. (109, 0x6d)."}

Wenn in der zu übertragenden Klasse ein Property OHNE SET Accessor vorhanden ist muss dieses von der Übertragung ausgeschlossen sein. Ansonsten wird der oben genannte Fehler geworfen.

Lösung

Die Klasse muss explizit mit dem DataContract Attribut gekennzeichnet sein.

Jedes Property muss mit dem DataMember Attribut gekennzeichnet sein.

Das Property, welches nur einen GET Accessor hat muss mit IgnoreDataMember gekennzeichnet sein.

Für diese Attribute muss System.Runtime.Serialization.dll eingebunden werden.

Properies mit einfachen Enumerationen werden mit Serialisiert.

Die Properties mit GET Accessor und ohne SET Accessor sind auf dem Client dennoch sichtbar und benutzbar. Die Funktionalität dahinter wird weiterhin ausgeführt.

Bei verweis auf ein Field welches nicht übertragen wird, wird der selbige Fehler ausgelöst.

WCF HTTPBinding Buffered

Wenn die zu übertragende Klasse irgendwo verschachtelt eine Variable vom Typ "Type" besitzt muss diese mit dem NonSerialized-Attribute gekennzeichnet werden. XmlIgnore reicht nicht aus.

 

 {System.ServiceModel.CommunicationException: Fehler beim Deserialisieren von Parameter http://ecs.core.network.nix.pipe:value. Die InnerException-Nachricht war "Der Typ ‘System.RuntimeType’ mit dem Datenvertragsnamen ‘RuntimeType:http://schemas.datacontract.org/2004/07/System’ wird nicht erwartet. Verwenden Sie ggf. einen DataContractResolver, oder fügen Sie alle unbekannten Typen statisch der Liste der bekannten Typen hinzu, beispielsweise mithilfe des KnownTypeAttribute-Attributs oder indem Sie sie zur Liste der bekannten Typen hinzufügen, die an DataContractSerializer übergeben wird.".  Weitere Details finden Sie unter "InnerException". —> 

 
System.Runtime.Serialization.SerializationException: Der Typ ‘System.RuntimeType’ mit dem Datenvertragsnamen ‘RuntimeType:http://schemas.datacontract.org/2004/07/System’ wird nicht erwartet. Verwenden Sie ggf. einen DataContractResolver, oder fügen Sie alle unbekannten Typen statisch der Liste der bekannten Typen hinzu, beispielsweise mithilfe des KnownTypeAttribute-Attributs oder indem Sie sie zur Liste der bekannten Typen hinzufügen, die an DataContractSerializer übergeben wird.
   bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, Boolean verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithXsiType(XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   bei WriteEventToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   bei System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   bei WriteEBMSToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   bei System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
   bei System.Runtime.Serialization.DataContractSerializer.InternalWriteObjectContent(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   bei System.Runtime.Serialization.DataContractSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   bei System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   bei System.Runtime.Serialization.XmlObjectSerializer.WriteObject(XmlDictionaryWriter writer, Object graph)
   bei System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeParameterPart(XmlDictionaryWriter writer, PartInfo part, Object graph)
   — Ende der internen Ausnahmestapelüberwachung —
 
Server stack trace: 
   bei System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeParameterPart(XmlDictionaryWriter writer, PartInfo part, Object graph)
   bei System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeParameter(XmlDictionaryWriter writer, PartInfo part, Object graph)
   bei System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeParameters(XmlDictionaryWriter writer, PartInfo[] parts, Object[] parameters)
   bei System.ServiceModel.Dispatcher.DataContractSerializerOperationFormatter.SerializeBody(XmlDictionaryWriter writer, MessageVersion version, String action, MessageDescription messageDescription, Object returnValue, Object[] parameters, Boolean isRequest)
   bei System.ServiceModel.Dispatcher.OperationFormatter.SerializeBodyContents(XmlDictionaryWriter writer, MessageVersion version, Object[] parameters, Object returnValue, Boolean isRequest)
   bei System.ServiceModel.Dispatcher.OperationFormatter.OperationFormatterMessage.OperationFormatterBodyWriter.OnWriteBodyContents(XmlDictionaryWriter writer)
   bei System.ServiceModel.Channels.BodyWriter.WriteBodyContents(XmlDictionaryWriter writer)
   bei System.ServiceModel.Channels.BodyWriterMessage.OnWriteBodyContents(XmlDictionaryWriter writer)
   bei System.ServiceModel.Channels.Message.OnWriteMessage(XmlDictionaryWriter writer)
   bei System.ServiceModel.Channels.Message.WriteMessage(XmlDictionaryWriter writer)
   bei System.ServiceModel.Channels.BufferedMessageWriter.WriteMessage(Message message, BufferManager bufferManager, Int32 initialOffset, Int32 maxSizeQuota)
   bei System.ServiceModel.Channels.BinaryMessageEncoderFactory.BinaryMessageEncoder.WriteMessage(Message message, Int32 maxMessageSize, BufferManager bufferManager, Int32 messageOffset)
   bei System.ServiceModel.Channels.FramingDuplexSessionChannel.EncodeMessage(Message message)
   bei System.ServiceModel.Channels.FramingDuplexSessionChannel.OnSend(Message message, TimeSpan timeout)
   bei System.ServiceModel.Channels.OutputChannel.Send(Message message, TimeSpan timeout)
   bei System.ServiceModel.Dispatcher.DuplexChannelBinder.Request(Message message, TimeSpan timeout)
   bei System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   bei System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   bei System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
 
Exception rethrown at [0]: 
   bei System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   bei System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   bei ecs.core.network.nix.pipe.interfaces.INixPipe.ImportEBMS(EBMS value)
   bei ecs.core.network.nix.pipe.PipeClient.ImportEBMS(EBMS value) in C:\Development\ecs\ecs\ecs.core\network\nix\pipe\PipeClient.cs:Zeile 188.}

Samsung Galaxy i9000 USB Treiber

Jeder, der sein Android Phone mit Cyanogenmod 7 bespielt wird höchstwahrscheinlich das Problem haben, dass sein Gerät unter Windows nicht mehr erkannt bzw. installiert wird.

Trotz installiertem Kies kann kein Treiber gefunden werden. Lösung: Es muss der Google Android Treiber verwendet werden. Dieser ist nur über das Android SDK erhältlich.

### Android Tool: Source of this archive.

#Mon Dec 19 16:40:28 CET 2011

Pkg.Desc=USB Driver for Windows, revision 4
Extra.Vendor=google
Extra.Path=usb_driver
Archive.Arch=ANY
Pkg.DescUrl=http\://developer.android.com/
Archive.Os=WINDOWS
Pkg.SourceUrl=https\://dl-ssl.google.com/android/repository/addon.xml
Pkg.Revision=4

 

Treiber Download: usb_driver_i9000 

Samsung Galaxy S Flashen/Rooten/Cyanogenmod

Wohl dem der ein Samsung Galaxy S I9000 hat. Das Flashen/Rooten und Installieren von Cyanogenmod dauert in der Regel 10 Minuten, ist kinderleicht und es kann an für sich nichts schief gehen.

Beim HTC Sense dagegen ist wesentlich mehr Zeit und Knowhow von Nöten.

Damit Cyanogenmod installiert werden kann muss das Handy zuerst „Gerootet“ werden.
Dabei wird der Kernel ausgetauscht und somit verschiedenen Programmen Root-Rechte gewährt.
Dies geschieht bspw. mit der „Heimdall Suite“ und dem „GalaxianEE SP1“ Kernel. Theoretisch kann auch einen anderen Kernel benutzen werden, wobei ich schon viele getestet habe die leider alle samt nicht funktioniert haben.

Allgemein/Wichtig

Das Handy am besten direkt per USB mit dem PC verbinden und keinen Hub dazwischen schalten.

Sicherstellen, dass der Akku mindestens zu 50% aufgeladen ist.

Unter Einstellungen > Über das Telefon die Android-/Baseband-/Kernel-Version notieren.

Das Flashen des Samsung Galaxy S ist sehr einfach, schnell und selbst wenn etwas passieren sollte gibt es einen Weg wie man wieder zum Ursprung zurückkommen kann. Aber ich muss darauf hinweisen, dass ich für keinen eventuell entstehenden Schaden verantwortlich bin. Jeder der diese Anleitung befolgt ist selbst für sein Handeln verantwortlich und tut dies auf eigene Gefahr!

Android Recovery-/Download-Modus

Das Handy ausschalten. Anschließend die „Leiser-Taste“ (linke Seite) + „Home-Taste“ (Oberseite – Unten – Mitte) gedrückt halten und das Handy über den Power-Knopf einschalten.
Die beiden Tasten so lange gedrückt halten bis ein gelbes Android-Männchen zu sehen ist.
Jetzt die Tasten loslassen.

Rooten/Kernel tauschen

Das Handy in den Android Download -Modus bringen und anschließend mit dem PC verbinden.
AndroidHeimdallGalaxianEESP1-Paket herunterladen, entpacken und in dem entpackten Ordner unter Drivers > zadig.exe starten.
In dem gestarteten Programm Options > List All Devices auswählen.
Das DropDown füllt sich mit Werten und aus dieser Liste wählt ihr dann "Samsung USB Composite Device" aus.
Anschließend auf „Install Driver“ klicken, den aufpoppenden Windows Dialog mit Treiber trotzdem installieren bestätigen und das Programm schließen.

Danach in dem entpackten Ordner Heimdall-fontend.exe starten.
Dort bei dem Punkt Kernel (zImage) auf „Browse“ klicken und in dem selbigen Ordner die Datei zImage auswählen. Dies ist der GalaxianEE SP1 Kernel.
Nun noch rechts unten mit „Start“ den Vorgang abschließen.

Cyanogenmod 7 (Android 2.3.5)

Hierfür wird eine Internetverbindung z.B. über WLAN benötigt.

Nachdem der Kernel getauscht wurde das Handy ganz normal starten und ggf. Pin eingeben.
Jetzt sollte ein neues Programm namens Superuser zu finden sein.
Als nächstes im Android Market das Programm „ROM Manager“ herunterladen und installieren.
„ROM Manager“ starten und auf „ClockworkMod Recovery installieren“ klicken. In dem sich öffnenden Popup Galaxy S i9000 (MTD) auswählen.

Nun erscheint noch ein Popup. Dort „ClockworkMod 3.X“ benutzen.

Nachdem der ClockworkMod heruntergeladen und installiert wurde im ROM Manager den Punkt „ROM herunterladen“ antippen.
Dort dann CyanogenMod selektieren. Ein Popup mit „Google Apps“ erscheint. In die Checkbox ein Häkchen setzen, da ansonsten kein AppMarket etc. vorhanden ist. (Kann nachträglich auch über den ROM Manager > ROM installieren > Google Apps installiert werden).

Wer den ROM Manager Premium erwirbt kann auch die NightlyBuilds vom Cyanogenmod automatisch installieren.

Cyanogenmod wird heruntergeladen und im Anschluss installiert. Das Handy startet automatisch neu. Wenn die Google Apps mit installiert wurden erscheint nach dem Neustart ein Einrichtungsassistent. Der erste Start kann ein bisschen dauern, nur keine Panik!

Handy-Reset / Von vorne beginnen

Für den Fall, dass etwas schief gehen sollte das AndroidOdin-Paket herunterladen und entpacken. In dem entpackten Ordner befindet sich „Odin3 v1.3“ inklusive dem Standard Android-Image I9000XXJVP.  (Für Galaxy S I9000)
Für andere Modelle entsprechend der bei Punkt „Allgemein/Wichtig“ aufgeschriebenen Base-Version das Paket herunterladen und benutzen. (Google/XDA Developer)

Die Base Version: I9000XXJVP (XX = 2011 JVP = Android 2.3.4)

Im Verzeichnis I9000XXJVP befinden sich 4 Dateien:

CODE_I9000XXJVP_CL264642_REV03_user_low_ship.tar.md5 (Firmware)
GT-I9000-CSC-MULTI-OXAJVP.tar.md5.md5 (Sprachdateien und Providereinstellungen)
MODEM_I9000XXJVP_REV_00_CL1019177.tar.md5 (Treiber für GMS/GPS/WLAN/UMTS)
s1_odin_20100512.pit (die .PIT Datei)

Odin3 v1.3.exe starten

PIT: s1_odin_20100512.pit
PDA: CODE_I9000XXJVP_CL264642_REV03_user_low_ship.tar.md5
PHONE: MODEM_I9000XXJVP_REV_00_CL1019177.tar.md5
CSC: GT-I9000-CSC-MULTI-OXAJVP.tar.md5
ETC: leer lassen
DUMP: leer lassen
Häckchen: Re-Partition, Auto Reboot, F. Reset Time
KEIN Häckchen: Dump, Phone EFS Clear, Phone Bootloader Update

Das Galaxy S im Download-Modus starten und anschließend mit dem PC verbinden.
Wenn in Odin nun ein gelbes Fenster aufleuchtet dann auf „Start“ klicken. FERTIG !

Wenn nichts passiert ist möglicherweise ein falscher Treiber installiert. Der Treiber für das Samsung Galaxy S muss aktualisiert werden. (AndroidGalaxyS_USBDriver) Danach die Schritte noch mal wiederholen.
Mit einem anschließenden Factory Reset werden überflüssige Dateien der alten Firmware aus dem Speicher gelöscht.

Hallo Welt!

Willkommen zur deutschen Version von WordPress. Dies ist der erste Artikel. Du kannst ihn bearbeiten oder löschen. Um Spam zu vermeiden, geh doch gleich mal in den Pluginbereich und aktivier die entsprechenden Plugins. So, und nun genug geschwafelt – jetzt nichts wie ran ans Bloggen!

Facebook

 

public class x 
{
int i = 0;
}