Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
runtime
提交
53bb7dd1
R
runtime
项目概览
dotNET Platform
/
runtime
11 个月 前同步成功
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
runtime
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
53bb7dd1
编写于
3月 24, 2022
作者:
E
Eirik Tsarpalis
提交者:
GitHub
3月 24, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #66727. (#67041)
上级
9836d5a1
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
21 addition
and
9 deletion
+21
-9
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.HandleMetadata.cs
.../Json/Serialization/JsonSerializer.Read.HandleMetadata.cs
+5
-0
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/ReadStack.cs
...Text.Json/src/System/Text/Json/Serialization/ReadStack.cs
+8
-4
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/WriteStack.cs
...ext.Json/src/System/Text/Json/Serialization/WriteStack.cs
+8
-4
src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/ReferenceHandlerTests.cs
...em.Text.Json.Tests/Serialization/ReferenceHandlerTests.cs
+0
-1
未找到文件。
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonSerializer.Read.HandleMetadata.cs
浏览文件 @
53bb7dd1
...
...
@@ -336,6 +336,11 @@ public static partial class JsonSerializer
if
(
state
.
Current
.
ObjectState
==
StackFrameObjectState
.
ReadValuesStartArray
)
{
// Temporary workaround for the state machine accidentally
// erasing the JsonPropertyName property in certain async
// re-entrancy patterns.
state
.
Current
.
JsonPropertyName
=
s_valuesPropertyName
;
if
(
reader
.
TokenType
!=
JsonTokenType
.
StartArray
)
{
ThrowHelper
.
ThrowJsonException_MetadataValuesInvalidToken
(
reader
.
TokenType
);
...
...
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/ReadStack.cs
浏览文件 @
53bb7dd1
...
...
@@ -208,15 +208,19 @@ public string JsonPath()
{
StringBuilder
sb
=
new
StringBuilder
(
"$"
);
// If a continuation, always report back full stack which does not use Current for the last frame.
int
count
=
Math
.
Max
(
_count
,
_continuationCount
+
1
);
(
int
frameCount
,
bool
includeCurrentFrame
)
=
_continuationCount
switch
{
0
=>
(
_count
-
1
,
true
),
// Not a countinuation, report previous frames and Current.
1
=>
(
0
,
true
),
// Continuation of depth 1, just report Current frame.
int
c
=>
(
c
,
false
)
// Continuation of depth > 1, report the entire stack.
};
for
(
int
i
=
0
;
i
<
count
-
1
;
i
++)
for
(
int
i
=
0
;
i
<
frameCount
;
i
++)
{
AppendStackFrame
(
sb
,
ref
_stack
[
i
]);
}
if
(
_continuationCount
==
0
)
if
(
includeCurrentFrame
)
{
AppendStackFrame
(
sb
,
ref
Current
);
}
...
...
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/WriteStack.cs
浏览文件 @
53bb7dd1
...
...
@@ -332,15 +332,19 @@ public string PropertyPath()
{
StringBuilder
sb
=
new
StringBuilder
(
"$"
);
// If a continuation, always report back full stack which does not use Current for the last frame.
int
count
=
Math
.
Max
(
_count
,
_continuationCount
+
1
);
(
int
frameCount
,
bool
includeCurrentFrame
)
=
_continuationCount
switch
{
0
=>
(
_count
-
1
,
true
),
// Not a countinuation, report previous frames and Current.
1
=>
(
0
,
true
),
// Continuation of depth 1, just report Current frame.
int
c
=>
(
c
,
false
)
// Continuation of depth > 1, report the entire stack.
};
for
(
int
i
=
0
;
i
<
count
-
1
;
i
++)
for
(
int
i
=
0
;
i
<
frameCount
;
i
++)
{
AppendStackFrame
(
sb
,
ref
_stack
[
i
]);
}
if
(
_continuationCount
==
0
)
if
(
includeCurrentFrame
)
{
AppendStackFrame
(
sb
,
ref
Current
);
}
...
...
src/libraries/System.Text.Json/tests/System.Text.Json.Tests/Serialization/ReferenceHandlerTests.cs
浏览文件 @
53bb7dd1
...
...
@@ -15,7 +15,6 @@ public sealed class ReferenceHandlerTestsDynamic_AsyncStream : ReferenceHandlerT
public
ReferenceHandlerTestsDynamic_AsyncStream
()
:
base
(
JsonSerializerWrapper
.
AsyncStreamSerializer
)
{
}
}
[
ActiveIssue
(
"https://github.com/dotnet/runtime/issues/66727"
)]
public
sealed
class
ReferenceHandlerTestsDynamic_AsyncStreamWithSmallBuffer
:
ReferenceHandlerTests
{
public
ReferenceHandlerTestsDynamic_AsyncStreamWithSmallBuffer
()
:
base
(
JsonSerializerWrapper
.
AsyncStreamSerializerWithSmallBuffer
)
{
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录