我在 Silverlight 应用程序中有一个内存流。我必须将此内存流复制到文件流对象。如果我打电话:
memoryStream.Position = 0;
memoryStream.Seek(0,SeekOrigin.Begin);
不行,我调试应用,检查内存流的属性,位置还是指向文件末尾。有什么线索吗?
我在 Silverlight 应用程序中有一个内存流。我必须将此内存流复制到文件流对象。如果我打电话:
memoryStream.Position = 0;
memoryStream.Seek(0,SeekOrigin.Begin);
不行,我调试应用,检查内存流的属性,位置还是指向文件末尾。有什么线索吗?
是否有可能在调试器中触发您的另一个属性并读取流?
如果您登录(或显示在消息框上)会发生什么,而不是使用调试器:
Log("Position = " + stream.Position);
stream.Position = 0;
Log("Position = " + stream.Position);
这是否两次显示相同的非零数字?我很难相信那MemoryStream
是破碎的。
顺便说一句,MemoryStream
用于复制的一种比手动复制所有内容更简单的方法是使用作为参数进行WriteTo
调用FileStream
。