【问题标题】:XmlDeserialization fails in medium trust levelXmlDeserialization 在中等信任级别失败
【发布时间】:2011-06-18 14:44:54
【问题描述】:

我们的网站托管在中等信任级别,托管服务提供商拒绝给予我们完全信任。我们的代码尝试使用以下代码 sn-p 反序列化代码,但由于反射权限错误而失败。调试时,我得到“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;
    }

【问题讨论】:

    标签: xml-deserialization medium-trust


    【解决方案1】:

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

    【讨论】:

    • 我尝试了你对项目和所有依赖项目的推荐,但似乎没有用。仍然收到同样的错误。
    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-21
    • 1970-01-01
    • 2012-02-22
    • 2013-01-18
    相关资源
    最近更新 更多