Почему вы просто не используете SQL-сервер в качестве поставщика состояния? Вы можете установить его в конфигурации, и это происходит автоматически, тогда SQL-сервер будет хранить данные в виде сериализованных двоичных данных и эффективно извлекать их?
Короткий ответ - да, вы можете, но он заново изобретает колесо. Вам нужно использовать данные для чего-либо еще или отредактировать их самостоятельно? Я был бы склонен использовать отдельный процесс для этого. Вы собираетесь создать небольшую работу для себя, делая это, и было бы лучше просто сохранить свойство xml где-нибудь, когда вы установите его в sessiopn, если вам понадобится посмотреть его позже.
Сделайте ваш XML-документ объектом сеанса
Session["MyCustomXml"] = mydoc;
var mydoc = Session["MyCustomXml"] as XmlDocument;
, затем используйте следующую конфигурацию, чтобы она хранилась на сервере sql.
<sessionState
mode="SQLServer"
sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
cookieless="false"
timeout="20"
/>
Если вам нужно посмотреть позже, просто сохраните его на диске где-нибудь в безопасном месте с SessionId в качестве имени файла, чтобы сохранить его уникальным.