Глобальный доступ к MemoryStream - PullRequest
2 голосов
/ 09 апреля 2010

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

Можно ли сохранять (читать и записывать) global"memoryStreamContainer" во время работы приложения?

1 Ответ

1 голос
/ 09 апреля 2010

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

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

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

    // implementation
 }
...