提交 57eca799 编写于 作者: C CyrusNajmabadi

Simplify serialization.

上级 bc9be6c0
......@@ -728,7 +728,8 @@ private void WriteObject(object instance, IObjectWritable instanceAsWritableOpt)
// don't blow the stack. 'LongRunning' ensures that we get a dedicated thread
// to do this work. That way we don't end up blocking the threadpool.
var task = Task.Factory.StartNew(
() => WriteObjectWorker(instance, writable),
obj => WriteObjectWorker((IObjectWritable)obj),
writable,
_cancellationToken,
TaskCreationOptions.LongRunning,
TaskScheduler.Default);
......@@ -736,7 +737,7 @@ private void WriteObject(object instance, IObjectWritable instanceAsWritableOpt)
}
else
{
WriteObjectWorker(instance, writable);
WriteObjectWorker(writable);
}
_recursionDepth--;
......@@ -744,14 +745,14 @@ private void WriteObject(object instance, IObjectWritable instanceAsWritableOpt)
}
}
private void WriteObjectWorker(object instance, IObjectWritable writable)
private void WriteObjectWorker(IObjectWritable writable)
{
// emit object header up front
this.WriteObjectHeader(instance, 0);
this.WriteObjectHeader(writable);
writable.WriteTo(this);
}
private void WriteObjectHeader(object instance, uint memberCount)
private void WriteObjectHeader(IObjectWritable instance)
{
_objectReferenceMap.Add(instance);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册