Je reçois des données de services Web en XML et j'utilise ces données via des objets, en fonction du XML reçu. Ainsi, parfois j'ai besoin de stocker de tels objets spécifiques à l'utilisateur entre les demandes en session. Je sais que XMLDocument ne pouvait pas être stocké explicitement (serveur d'état) ... donc je fais une construction comme terribles:Comment conserver les objets XML de session?
private string _data;
public XmlDocument Data
{
get
{
XmlDocument res = new XmlDocument();
if (!string.IsNullOrEmpty(_data))
{
res.InnerXml = _data;
return res;
}
return null;
}
set { _data = value.InnerXml; }
}
donc je suis stocker implicitement xml ... utile pour moi au cours du développement , parce que je ne sais pas exactement quelles propriétés j'ai besoin de l'objet entier - je peux faire des propriétés expérimentales simples avec xpath etc dans un pincement ...
ainsi il est confortable pour moi, mais il semble très inefficace de construire xmldocument de chaîne chaque fois que j'ai besoin d'obtenir des données de n'importe quelle propriété de cette classe. Y a-t-il un moyen de contourner?) Merci.
Pourquoi un XMLDocument ne peut-il pas être stocké dans Session de manière explicite? Si c'est grand, ce ne serait pas une bonne idée, mais ce ne serait pas non plus une bonne idée de le stocker en tant que chaîne. –
J'ai oublié de mentionner que j'utilise le serveur d'état ... donc je ne peux pas mettre XMLDocument là. Oui, ce n'est pas un moyen efficace de stocker ... mais il y a quelques avantages clés pour moi) –