2

我想将一个对象(表单)序列化MemoryStream并最终能够反序列化它。

应用程序运行时是否可以保留(读取和写入)全局“memoryStreamContainer”?

4

1 回答 1

1

是的,您可以,但请注意,MemoryStream它不是线程安全的,因此您需要序列化对它的访问,例如,通过使用 lock 语句。

甚至可以编写某种胎面安全的包装器,它可以使用任何类型的Stream

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

    // implementation
 }
于 2010-04-09T13:49:11.667 回答