Autor Beitrag
Nuckey
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 78



BeitragVerfasst: Sa 05.05.12 14:47 
gibt es eine möglichkeit, instanzobjecte (klassen) in einen mmf stream mit CreateViewAccessor
zu schreiben und lesen ?


mfg nuckey
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 05.05.12 16:58 
Würde sich da CreateViewStream nicht viel eher anbieten :nixweiss: ?

_________________
>λ=
Nuckey Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 78



BeitragVerfasst: Sa 05.05.12 17:27 
hio !
soweit ich es sehe,öffnet man die files ,mit CreateViewStream.
daten lesen und schreiben mit binraywriter/reader oder mit CreateViewAccessor,

dir frage stellte ich deshalb ,weil CreateViewAccessor nur werttypen speichert max bis struct.
und binarywriter ebenso,aber zur zeit stehe ich vor kleines problem,ich muss daten persistent speichern und auf diese zugreifen können,da ist die serilize Methode nicht sonderlich umgänglich.
angedacht war eine menge von objecten ,die auch Listen uzw.beinhalten,diese binär zu speichern,hintereinanderweg ohne viel tara.
um im laufenden program zuzugreifen (art Datenbank).
deswegen diese frage ob es möglich wäre (auser handarbeit mit binärywriter ..).

mfg nuckey
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Sa 05.05.12 18:35 
user profile iconNuckey hat folgendes geschrieben Zum zitierten Posting springen:
da ist die serilize Methode nicht sonderlich umgänglich.
Soll heißen :gruebel: ? Es sollte problemlos möglich sein, den BinaryFormatter in den Rückgabewert von CreateViewStream serialisieren zu lassen.

_________________
>λ=
Nuckey Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 78



BeitragVerfasst: Sa 05.05.12 20:54 
hio kha !
was ich meinte,mit nich sonderlich ümgänglich,ist es wird menge zusatzinfo´s mitgespeichert ;).

mit deinen hinweis meintest du in dieser art ??

ausblenden Quelltext
1:
2:
3:
4:
5:
using (MemoryMappedViewStream stream = mmf.CreateViewStream())
{
    BinaryFormatter formatter = new BinaryFormatter();
    formatter.Serialize(stream, OBJECTKLASSE );
}


wie gesagt serial. hat mit zu viel ballast.
villeicht muss ich noch etwas weiter ausholen .

also,ich habe hier bis 50000-10000 datenobjecte ,die ich aus einen textfile parse,diese daten werden und sollen bearbeitet (editiert) werden ,gelöscht,hinzu also die ganze palette was eine Liste zu bieten hat.
problem sehe ich in dehn speicherverbrauch und da bin ich halt auf memory mapping gestossen.
der gedanke ist ,die objecte hintereinander zu speichern.
mit dehm ViewAccessor dann über dehn file "gleiten lassen" und jeweils das benötigte object einlesen/schreiben,so im groben etwa.
und da die objecte keine einfachen objecte sind und MMF dieses nicht vorsieht .... :hair:


gruss nuckey
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 06.05.12 01:24 
user profile iconNuckey hat folgendes geschrieben Zum zitierten Posting springen:
wie gesagt serial. hat mit zu viel ballast.
Wenn dir der BinaryFormatter zu viel Overhead hat, du es aber auch nicht von Hand serialisieren willst, musst du dir wohl einen anderen Serializer wie zB protobuf-net suchen. Das hat aber eigentlich nichts mehr mit dem Threadtitel zu tun.

PS: Bitte, bitte, lass das "h" in "dehn" und "dehm" weg!

_________________
>λ=
Nuckey Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 78



BeitragVerfasst: So 06.05.12 08:01 
danke erstmal,
bin erstmal von der sache weg,muss mir erstmal mehr infos zum thema filemapping einholen.
und wie es aussieht muss ich eh selbst handanlegen ;)

mfg nuckey