2010-04-09 3 views
2

Я хочу сериализовать объект (форму) на MemoryStream и выполнить его десериализацию.Глобальный доступ к MemoryStream

Можно ли хранить (читать и писать) глобально «memoryStreamContainer», когда приложение запущено?

ответ

1

Да, вы можете, но обратите внимание, что MemoryStream не является потокобезопасным, поэтому вам потребуется сериализовать доступ к нему, например, с помощью оператора блокировки.

могли бы даже написать какой-протектор безопасной оболочки, которые могли бы использовать любой тип Stream:

public sealed class ThreadSafeStreamWrapper 
{ 
    private readonly Stream wrappedStream; 
    public ThreadSafeStreamWrapper(Stream wrappedStream) 
    { 
     this.wrappedStream = wrappedStream; 
    } 

    // implementation 
} 
+0

Я согласен, что мой вопрос должен быть «Как я могу» :) – serhio