我编写了一个使用同步调用来写入流的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
有什么想法吗?