У меня есть один XML-документ, который я хочу сохранить внутри сеанса, поэтому в каждом столбце мне больше не нужно загружать его с его физического пути. Мы используем государственный сервер.Можно ли сохранить объект xmlDocument в сеансе? Как сделать серализацию?
Когда я попытался сохранить его в сеансе я получаю сообщение об ошибке:
Сведения об исключении: System.Runtime.Serialization.SerializationException: Тип «System.Xml.XmlDocument» в System.Xml Ассамблеи», Version = 2,0 .0.0, Culture = нейтральный, PublicKeyToken = b77a5c561934e089 'не помечен как сериализуемый.
Мой код-то вроде этого:
строка resumeSection = string.Empty;
resumeSection = resume.GetXMLSection(1)
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(resumeSection);
Session["USERXML"] = xmloc;
Как сделать серализацию?
Как я становлюсь ниже ошибки Невозможно сериализовать состояние сеанса. В режиме «StateServer» и «SQLServer» ASP.NET будет сериализовать объекты состояния сеанса, и в результате не разрешаются объекты, не связанные с сериализацией, или объекты MarshalByRef. Такое же ограничение применяется, если аналогичная сериализация выполняется в пользовательском хранилище состояний сеанса в режиме «Пользовательский».
Как сделать сериализацию Befor хранения его переменной сессии? –
взгляните на ссылку, предоставленную мной в ответ http://rtur.net/blog/post/2008/03/16/Serializing-XMLDocument-to-binary-format.aspx – Devjosh
подготовьте свой xmlDocument так, как показано здесь, а затем назначьте свой недавно подготовленный объект xmlDocument сеансу таким же образом, который вы назначили – Devjosh