对 MemoryStream 的全局访问

发布于 2024-08-28 10:31:46 字数 121 浏览 8 评论 0原文

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

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

I want to serialize an object(Form) to the MemoryStream and ulteriorly be able to deserialize it.

Is it possible to keep (read and write into) a global "memoryStreamContainer" when application is running?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风柔一江水 2024-09-04 10:31:46

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

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

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

    // implementation
 }

Yes you can, but please note that the MemoryStream is not thread-safe, so you'll need to serialize access to it, for instance, by using the lock statement.

Could could even write some sort of tread-safe wrapper, that could use any type of Stream:

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

    // implementation
 }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文