0

는 다음 코드와 격리 된 저장소에서 개체를 읽고있다 :직렬화 된 객체를 읽는 중 오류가 발생 했습니까? WP7

public static T Load<T>(string name) where T : class, new() 
    { 
     T loadedObject = null; 
     using (IsolatedStorageFile storageFile = IsolatedStorageFile.GetUserStoreForApplication()) 
     using (IsolatedStorageFileStream storageFileStream = new IsolatedStorageFileStream(name, System.IO.FileMode.OpenOrCreate, storageFile)) 
     { 
      if (storageFileStream.Length > 0) 
      { 
        DataContractSerializer serializer = new DataContractSerializer(typeof(T)); 
        loadedObject = serializer.ReadObject(storageFileStream) as T; //####Error Here#### 
      } 
      if (loadedObject == null) 
      { 
       loadedObject = new T(); 
      } 
     } 

내 객체를 읽고되면 나는

"유형 'Microsoft.Xna.Framework.Media를 읽고 SecurityException를 얻고있다. Song은 매개 변수없는 public 생성자가 없기 때문에 부분 신뢰로 deserialize 할 수 없습니다. "

내 개체 클래스에 위와 같은 오류가 발생하는 Song 속성이 있습니다.

이 문제를 해결할 방법이 있습니까? 내 Song 속성을 내 개체와 함께 저장하고 싶습니다. 모든 조언을 크게 주시면 감사하겠습니다! 감사!

답변

0

목표는 무엇입니까?

  1. 앱에서 노래를 재생 하시겠습니까?
  2. 앱에서 노래를 만드시겠습니까?
  3. 노래 라이브러리에 액세스 하시겠습니까?
  4. 웹에서 노래를 가져 오시겠습니까?

@ 1 프로젝트의 노래에 노래를 추가하기 만하면됩니다. 직렬화를 사용할 필요가 없습니다.
@ 2 메모리 스트림을 사용하여이를 유지 관리하십시오. 저장 한 다음 스트림을로드하십시오. 4 곡의 노래 = Song.FromUri .. 당신은 diffrent 방법으로 저장해야

@ 3 사용 MediaPlayerLauncher
@ MediaElement.SetSource (스트림 스트림)
를 사용합니다. 예외는 왜 노래가이 경우에 나쁜 선택인지 거의 모두를 explatins.

이 예제를 살펴보십시오. http://social.msdn.microsoft.com/Forums/en/windowsphone7series/thread/3080021c-3960-49a0-ac5b-ebf2680592e1

+0

Song 속성이 포함 된 개체를 저장하고 있습니다. Isolated 저장소에서 개체를 읽을 때 Song 속성을 읽어야합니다. – andersra

+0

내 현재 방법을 사용하여이 문제를 해결할 방법이 없다고 말씀 하시겠습니까? – andersra

+0

노래를 저장하는 대신 (왜 내가 그렇게 할 수 없는지 깨닫습니다.) MediaLibrary에 색인을 저장했습니다. 노래. 이제 개체를로드하고 모든 노래 속성을 다시 설정할 수 있습니다. – andersra

관련 문제