Runtime: Bson ํ†ตํ•ฉ ์ถ”๊ฐ€

์— ๋งŒ๋“  2019๋…„ 12์›” 23์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: dotnet/runtime

System.Text.Bson ๋˜๋Š” System.Text.Json.Bson ์™€ ๊ฐ™์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— Bson ํ†ตํ•ฉ ์ถ”๊ฐ€

area-System.Text.Json enhancement

๋ชจ๋“  3 ๋Œ“๊ธ€

์‹œ๋‚˜๋ฆฌ์˜ค, ์‚ฌ์šฉ ์‚ฌ๋ก€, ๊ธฐ๋Œ€ํ•˜๋Š” API/๊ธฐ๋Šฅ ์œ ํ˜•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ช‡ ๊ฐ€์ง€ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ API ๋ชจ์–‘์„ ์œ„์— ์ž‘์„ฑํ•  ์ƒ˜ํ”Œ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ธฐ๋Šฅ์— ๋™๊ธฐ๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ Newtonsoft.Json์„ ์‚ฌ์šฉํ•˜์—ฌ bson์„ ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™”ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ์ฒด ๋˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ŠคํŠธ๋ฆผ ๋˜๋Š” ๋ฐ˜ํ™˜ ๊ฐ’์œผ๋กœ ์ง๋ ฌํ™”ํ•˜๊ณ  ๋ฐ”์ดํŠธ ๋ฐฐ์—ด์„ ์—ญ์ง๋ ฌํ™”ํ•˜์—ฌ ๊ฐ์ฒด ๋˜๋Š” ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

void Save<TData>(string file, TData data)
{
    using var stream = File.OpenWrite(data);
    BsonSerializer.Serialize<TData>(stream, data); // Can be async
}
void Save<TData>(string file, TData data)
{
    var data = BsonSerializer.Serialize<TData>(data);
    File.WriteAllBytes(file, data);
}



md5-82a793b316c425db07d8e79250ba8a1c



```csharp
TData Read<TData>(string file)
{
    var data = File.ReadAllBytes(file);
    return BsonSerializer.Deserialize<TData>(data);
}

๋‹ซ๊ธฐ - ํ˜„์žฌ๋กœ์„œ๋Š” ์ด ํ˜•์‹์„ ์ง€์›ํ•  ๊ณ„ํš์ด ์—†์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰