Skip to content

Commit 7ef8f60

Browse files
Add optimal overloads for in-memory serialization
1 parent f2218c4 commit 7ef8f60

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/Razor/src/Microsoft.AspNetCore.Razor.ProjectEngineHost/ProjectSystem/RazorProjectInfo.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// Copyright (c) .NET Foundation. All rights reserved.
22
// Licensed under the MIT license. See License.txt in the project root for license information.
33

4+
using System;
5+
using System.Buffers;
46
using System.Collections.Immutable;
57
using System.IO;
68
using MessagePack;
@@ -45,9 +47,15 @@ public RazorProjectInfo(
4547
Documents = documents.NullToEmpty();
4648
}
4749

50+
public void SerializeTo(IBufferWriter<byte> bufferWriter)
51+
=> MessagePackSerializer.Serialize(bufferWriter, this, s_options);
52+
4853
public void SerializeTo(Stream stream)
4954
=> MessagePackSerializer.Serialize(stream, this, s_options);
5055

56+
public static RazorProjectInfo? DeserializeFrom(ReadOnlyMemory<byte> buffer)
57+
=> MessagePackSerializer.Deserialize<RazorProjectInfo>(buffer, s_options);
58+
5159
public static RazorProjectInfo? DeserializeFrom(Stream stream)
5260
=> MessagePackSerializer.Deserialize<RazorProjectInfo>(stream, s_options);
5361
}

0 commit comments

Comments
 (0)