Hi
Ich suche derzeit nach einer einfachen Möglichkeit Variablen im allgemeinen - unabhängig vom Typ - in byte[] zu konvertieren. Mit String und int ist es einfach, aber ich habe auch Variablentypen, die aus beidem bestehen bzw. aus List<>s, Images etc.
Gibt es da eine Funktion, die das Framework bietet, oder muss ich jeden Wert manuell umwandeln?
Visit me @ www.beremote.net
Mit Value types geht das mit Hilfe der Marshal-Klasse, bei Referenztypen bin ich mir da schon nicht mehr so sicher.
Eine Möglichkeit wäre die Objekte zu serialisieren. Der BinaryFormatter macht im Grunde nichts anderes als das von dir gewünschte.
Kommt halt auf die Anwendung an.
[EDIT]
Kommt das "Ein Beitrag wurde bereits erstellt... bitte lesen" nur bei der Vorschau?
Ich suche derzeit nach einer einfachen Möglichkeit Variablen im allgemeinen - unabhängig vom Typ - in byte[] zu konvertieren.
Die Antwort ist abhängig vom Zweck. Also: Wozu?
Hallo jaensen,
Kommt das "Ein Beitrag wurde bereits erstellt... bitte lesen" nur bei der Vorschau?
das kommt immer dann, wenn zwischen dem Aufrufen des Editors und der Vorschau oder dem Absenden (egal was davon) mindestens ein anderer Beitrag erstellt wurde. Es kommt nicht, wenn zwischen dem Lesen des Threads und dem Aufrufen des Editors Beiträge erstellt wurden. Wobei dann diese neuen Beiträge natürlich unterhalb des Editors schon angezeigt werden.
herbivore
Dann hab ichs also verplant 🤔 Öfter mal F5 drücken 😉
Ich suche derzeit nach einer einfachen Möglichkeit Variablen im allgemeinen - unabhängig vom Typ - in byte[] zu konvertieren.
Die Antwort ist abhängig vom Zweck. Also: Wozu?
Um es als byte-array über eine Socketverbindung zu verschicken - und anschließend wieder zurückzukonvertieren.
Visit me @ www.beremote.net
Da nimm doch am coolsten die WCF falls möglich. Dafür ist dann eigentlich Serialisierung geeignet.
Da nimm doch am coolsten die WCF falls möglich. Dafür ist dann eigentlich Serialisierung geeignet.
Das passt ehr nicht so, da ich derzeit versuche noch fürs Framework 2.0 zu entwickeln und wcf ist dann 3.0, oder hab ich das falsch in Erinnerung?
Visit me @ www.beremote.net
und wie genau? ich habe bereits gesucht, aber nichts derartiges gefunden.
Klar, [Serializable()] - und weiter? desshalb ist ein Variablentyp nicht gleich ein byte[]
Visit me @ www.beremote.net
Hallo,
ich hab mal vor einiger Zeit ein Example dafür erstellt: http://www.geocities.com/egon_rath/serialization.html
Serialisiert zwar binär in eine Datei, aber das sollte kein hindernis sein, da man vom benutzten MemoryStream ein byte[] bekommen kann.
Grüsse,
Egon
egrath's Blog: http://egonrath.eg.funpic.de/wordpress
super cool! werd' ich heute abend mal testen. Danke!
Visit me @ www.beremote.net
Zur Vervollständigung:
Was aber statt WCF in .NET 2.0 und höher geht ist Remoting. Ist ähnlich konfortabel wie WCF
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Was aber statt WCF in .NET 2.0 und höher geht ist Remoting. Ist ähnlich konfortabel wie WCF){gray}
Das wollten wir auch machen, nur leider wollen irgendwelche Sicherheitsmechanismen vom Framework nicht, dass wir das machen.
In Beispielprogrammen funktioniert es, in unserem dann nicht. Da die Socket-Verbindungen sich darum nicht so wirklich kümmern, war das unsere nächste Alternative, da wir einige Teile sowieso schon mit Sockets realisiert haben.
Visit me @ www.beremote.net
moooooment.
warum beseitigt ihr nicht einfach die fehler?
stattdessen fängt ihr an zu frickeln. wenn es um die kommunikation zwischen dotnetprogrammen geht und das auch noch im intranet, dann ist remoting DAS mittel der wahl.
ich habe schon einiges mit remoting gemacht, und im allgemeinen geht es recht gut.
was habt ihr denn für fehler?
Das Problem ist, dass wir drei Monate versucht haben dieses Problem zu lösen und keine Lösung finden konnten und auch niemanden gefunden haben, der uns helfen konnte.
Und es geht auch nicht ums Intranet, sondern ums Internet. Und da sind die Probleme. Lokal klappt alles wunderbar, aber wenns übers Internet geht, kommt nachdem man eine Fehlermeldung behoben hat die nächste, dann wieder die nächste und dann ist man irgendwann wieder bei der ersten. Zumindest ging es uns so und wir haben keine Möglichkeit gefunden das Problem zu lösen. Desshalb bleibt uns halt keine Alternative, als eine andere Möglichkeit der Kommunikation zu benutzen.
Visit me @ www.beremote.net
dann gibt es schon mehrere probleme.
remoting ist ein sicherheitsleck wenn man nicht nur native .net typen verwendet(string , int usw.), da bei der deserialisierung bei entsprechnder manipulation des objektes auch ausfürhbarer code mitgeschickt werden kann.
deshalb soll man im internet auch remoting nicht verwenden. generell muss man mit serialisierung aufpassen....
wenn ihr ganze objekte serialisiert, dann seit euch bewußt das man auch lokal die software manipulieren kann und somit auf dem server code einschleusen kann.
wenn ihr ganze objekte serialisiert, dann seit euch bewußt das man auch lokal die software manipulieren kann und somit auf dem server code einschleusen kann.
Sind wir uns. Entsprechende Mechanismen sind bereits fürs Remoting entwickelt gewesen und müssen jetzt nur angepasst werden.
Visit me @ www.beremote.net