2009-12-14 2 views
1

나는 실버 라이트 앱에 memorystream을 가지고 있습니다. 이 memorystream을 파일 스트림 객체에 복사해야합니다. 내가 호출하는 경우 : 그것은 작동하지 않습니다MemoryStream.Position 또는 MemoryStream.Seek가 작동하지 않습니다 (Silverlight)

memoryStream.Position = 0; 
memoryStream.Seek(0,SeekOrigin.Begin); 

, 내가 응용 프로그램을 디버깅, MemoryStream을의 속성을 확인하고, 위치는 여전히 파일의 끝을 가리키는. 모든 단서?

답변

1

다른 속성이 디버거에서 트리거되고 스트림을 통해 읽을 수 있습니까?

오히려 디버거를 사용하는 것보다, 당신은 무엇을 기록하면 어떻게됩니까 (또는 메시지 상자에 표시) : 같은 비 제로의 수를 두 번 보여

Log("Position = " + stream.Position); 
stream.Position = 0; 
Log("Position = " + stream.Position); 

합니까를? 나는 MemoryStream이 깨진 것을 믿기가 어렵습니다.

, BTW 보다 복사 할 MemoryStream를 사용하는 간단한 방법은 수동으로 복사 모든 인수로 FileStreamWriteTo를 호출하는 것입니다.

+0

디버거가 없어도 포인터가 파일의 끝에 있기 때문에 메모리 스트림의 바이트를 반복하려고하고 for 루프가 작동하지 않기 때문에 작동하지 않습니다. – VolkanUzun

+0

@VolkanUzun : 내가 보여 줬던 벌목을 해봤습니까? 그것은 심지어 0이 아닌 위치를 미리 보여줍니까? 문제를 보여주는 짧은 예를 보여줄 수 있습니까? 하나는 몇 개의 임의의 바이트를 써주시겠습니까? –

관련 문제