C#异步流读/写在调试模式下添加意外值

时间:2013-12-23 11:37:56

标签: c# debugging asynchronous

我编写了一个使用同步调用来写入流的Web客户端

void WriteBytes(WebRequest request, IntPtr ptr, int length)
{
    byte[] bytes = new byte[length];
    Marshal.Copy(ptr, bytes, 0, length);
    Stream requestStream = request.GetRequestStream();
    requestStream.Write(bytes, 0, bytes.Length);
}  

转换为异步调用后:

Stream requestStreamAsync = await request.GetRequestStreamAsync();
await requestStreamAsync.WriteAsync(bytes, 0, bytes.Length);

此外,所有其他相关的同步调用都更改为async,

在带有断点的调试模式下运行时,服务器端收到的缓冲区将填充意外值。 如果我没有断点运行一切正常。

我正在运行VS2012,Windows Server 2012 with .NET 4.5.1

有什么想法吗?

0 个答案:

没有答案