Xml deserialization XmlDeserialization在中等信任级别失败

Xml deserialization XmlDeserialization在中等信任级别失败,xml-deserialization,medium-trust,Xml Deserialization,Medium Trust,我们的网站托管在中等信任级别,托管提供商拒绝给予我们完全信任。我们的代码尝试使用以下代码段反序列化代码,但由于reflectionpermission错误而失败。调试后,我得到“XML文档(71,6)中有一个错误”错误。它在完全信任的情况下工作得非常好。请有人建议我如何才能解决这个问题之前,我们决定转移到完全信任的托管提供商 public static T Decrypt<T>(Stream stream) { Rijndael rij = Rijnd

我们的网站托管在中等信任级别,托管提供商拒绝给予我们完全信任。我们的代码尝试使用以下代码段反序列化代码,但由于reflectionpermission错误而失败。调试后,我得到“XML文档(71,6)中有一个错误”错误。它在完全信任的情况下工作得非常好。请有人建议我如何才能解决这个问题之前,我们决定转移到完全信任的托管提供商

    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;
    }
publicstatict解密(流)
{
Rijndael rij=Rijndael.Create();
rij.Key=Key;
rij.IV=IV;
T obj=default(T);//如果T是引用类型,则赋值为null;如果T是值类型,则赋值为0(零)
使用(CryptoStream cs=new CryptoStream(stream,rij.CreateDecryptor(),CryptoStreamMode.Read))
{
使用(GZipStream zs=新的GZipStream(cs,CompressionMode.decompresse))
{
XmlSerializer xs=新的XmlSerializer(typeof(T));
obj=(T)xs.反序列化(zs);
zs.Close();
}
cs.Close();
}
返回obj;
}

打开项目属性并将“生成序列化程序集”设置为“打开”。这将使编译器在编译时而不是在运行时生成序列化程序集。只需确保部署序列化程序集。

打开项目属性并将“生成序列化程序集”设置为“开”。这将使编译器在编译时而不是在运行时生成序列化程序集。只需确保部署序列化程序集。

我尝试了您对项目和所有依赖项目的建议,但似乎不起作用。仍然收到相同的错误。我尝试了您对该项目和所有相关项目的建议,但似乎不起作用。仍然收到相同的错误。