Around and About .NET World

Il blog di Marco Minerva
posts - 1671, comments - 2232, trackbacks - 2135

My Links

News

Contattami su Live Messenger:


MCTS: Windows, Web, Distributed Applications & SQL Server

MCPD: Enterprise Applications

Tag Cloud

Archives

Post Categories

Links

MemoryMappedFile in .NET 4.0

Su MSDN Magazine di Settembre 2009 è stato pubblicato un articolo in cui si parla di alcune delle nuove classi disponibili nella versione 4.0 del .NET Framework. Tra le altre, mi sembra molto interessante la classe MemoryMappedFile. Come il nome lascia intuire, si tratta di un oggetto mediante il quale è possibile gestire file mappati in memoria, con la possibilità di condividerli tra due o più processi. Sarà possibile, ad esempio, avere qualcosa di questo tipo:

   1: using (varmmf = MemoryMappedFile.CreateNew("mymappedfile", 1000))
   2: {
   3:     using (var stream = mmf.CreateViewStream()) 
   4:     {
   5:         var writer = new BinaryWriter(stream);
   6:         writer.Write("Hello World!");
   7:         var startInfo = new ProcessStartInfo("process2.exe");
   8:         startInfo.UseShellExecute = false;
   9:         Process.Start(startInfo).WaitForExit();
  10:     }
  11: }
 
Nella riga 1, si crea un nuovo file mappato in memoria, da cui si ricava uno stream (riga 5). Un altro processo può a questo punto accedere al file, semplicemente conoscendone il nome:
 
   1: using (varmmf = MemoryMappedFile.OpenExisting("mymappedfile"))
   2: {
   3:     using (var stream = mmf.CreateViewStream()) 
   4:     {
   5:         var reader = new BinaryReader(stream);
   6:         Console.WriteLine(reader.ReadString());
   7:     }
   8: }

Questo esempio è preso direttamente dall'articolo citato, a cui si rimanda per maggiori informazioni.

Technorati Tag: ,,

Print | posted on lunedì 19 ottobre 2009 15:33 | Filed Under [ C# .NET 4.0 ]

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET