2011-06-18 14 views
1

私たちのサイトは中程度の信頼水準でホストされており、ホスティングプロバイダは完全な信頼を提供することを拒否しています。私たちのコードは次のコードスニペットを使ってコードを逆シリアル化しようとしますが、reflectionpermissionエラーで失敗します。デバッグ時に「XML文書にエラーがあります(71,6)」というメッセージが表示されます。エラー。完全に信頼できる状態で完璧に動作します。私たちがフル・トラスト・ホスティング・プロバイダーに移行する前に、この問題をどのように解決できるかアドバイスしてください。XmlDeserializationは中程度の信頼レベルで失敗します

public static T Decrypt<T>(Stream stream) 
    { 
     Rijndael rij = Rijndael.Create(); 
     rij.Key = key; 
     rij.IV = iv; 
     T obj = default(T); // assigns null if T is a reference type, or 0 (zero) for value types 

     using (CryptoStream cs = new CryptoStream(stream, rij.CreateDecryptor(), CryptoStreamMode.Read)) 
     { 
      using (GZipStream zs = new GZipStream(cs, CompressionMode.Decompress)) 
      { 
       XmlSerializer xs = new XmlSerializer(typeof(T)); 
       obj = (T)xs.Deserialize(zs); 

       zs.Close(); 
      } 
      cs.Close(); 
     } 

     return obj; 
    } 

答えて

1

プロジェクトのプロパティを開き、[シリアル化アセンブリを生成]を[オン]に設定します。これにより、コンパイラは、オンザフライではなくコンパイル時に直列化アセンブリを生成します。シリアライズアセンブリを必ず配備してください。

+0

私はプロジェクトとすべての依存プロジェクトにあなたの推薦を試みましたが、うまくいかないようでした。まだ同じエラーが発生しています。 – user804604

関連する問題