2009-07-11 7 views
2

À des fins de performance, je veux écrire en mémoire, où une application externe peut lire. Je ne peux pas lier les deux applications ensemble, donc je pense que le seul moyen est d'écrire un fichier. Mais l'écrire sur un disque physique n'est pas assez rapide. Je veux monter une partition virtuelle pour que n'importe quelle application puisse y accéder. Comment faire?Puis-je créer un disque virtuel en mémoire par programmation?

+0

Cochez [this] (http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=55821). –

+0

DevCon n'est pas redistribuable. Il est fourni pour être utilisé en tant qu'outil de débogage et de développement. – Nifle

+0

Source de l'instruction ci-dessus: http://support.microsoft.com/?scid=kb%3Ben-us%3B311272&x=12&y=11 – Nifle

Répondre

2

Vous pouvez utiliser un tube nommé pour transférer les données entre les applications.

1

J'ai vu une implémentation de ramdisk commersial disponible pour .net mais je ne peux pas sembler le trouver maintenant.

Une autre option pourrait être: C# accessing memory map file

9

Vous n'avez pas besoin d'aller aussi loin que de créer un disque virtuel pour partager la mémoire entre les processus sous Windows - vous pouvez créer un bloc de mémoire partagée, et plusieurs processus peuvent alors accéder à cette mémoire.

Voir cet article MSDN: Creating Named Shared Memory

1

Je souhaite que vous pouvez utiliser .NET 4.0 :)

.NET 4.0 présente fichier mappé en mémoire.

Gunnar Peipman blogué bien dans le lien suivant: .Net Framework 4.0: Using memory mapped files

Dans son blog, "mémoire les fichiers mis en correspondance sont utiles lorsque vous devez faire en mémoire de manipulation de données et vos structures de données sont grandes Pour les grandes in-. données de mémoire les performances du fichier mappé mémoire est le meilleur.Il est beaucoup plus rapide que MemoryStream.Et comme les fichiers sur le disque dur, fichiers mappés de mémoire peuvent être partagés entre différents programmes. "

Son blog contient également l'exemple de code.

+1

Malheureusement, il semble que seules les applications .NET peuvent accéder à ces fichiers. –

Questions connexes