C# stateserver htmltable会话序列化问题

C# stateserver htmltable会话序列化问题,c#,asp.net,session,stateserver,C#,Asp.net,Session,Stateserver,我们将asp.net html表存储在会话中,它的工作文件具有InProc会话状态 当我们使用stateserver时,从会话中获取表对象的序列化存在问题 我已经尝试了belo代码无法完成它 Table table = null; Session["table"] = tableToJson(table); table = jsonToTable(Session["table"]); private string tableToJson(Table obj)

我们将asp.net html表存储在会话中,它的工作文件具有InProc会话状态

当我们使用stateserver时,从会话中获取表对象的序列化存在问题

我已经尝试了belo代码无法完成它

Table table = null;
Session["table"] = tableToJson(table); 
table = jsonToTable(Session["table"]);               

 private string tableToJson(Table obj)
    {
       //Formatting.Indented,  new JsonSerializerSettings() {ReferenceLoopHandling = ReferenceLoopHandling.Serialize}
     //  return JsonConvert.SerializeObject(obj,Formatting.Indented,  new JsonSerializerSettings() {ReferenceLoopHandling = ReferenceLoopHandling.Serialize});
        //return JsonConvert.SerializeObject(obj);
       // return JsonConvert.SerializeObject(obj, Newtonsoft.Json.Formatting.Indented, new JsonSerializerSettings() { PreserveReferencesHandling = PreserveReferencesHandling.All });

        StringBuilder sb = new StringBuilder();
        HtmlTextWriter tw = new HtmlTextWriter(new StringWriter(sb));
        obj.RenderControl(tw);
        return tw.InnerWriter.ToString();
    }
    private Table jsonToTable(object obj)
    {
        string serializedData = (string)obj;
        serializedData = serializedData.Replace("<table", "<table runat=\"server\"");
        Control tbl = Page.ParseControl(serializedData);
        return tbl as Table;            
        //var serializer = new XmlSerializer(typeof(Table));
        //var reader = new XmlTextReader(new StringReader(serializedData));
        //return (Table)serializer.Deserialize(reader);

        //string o = (string)obj;
        //Table tbl = (Table)Newtonsoft.Json.JsonConvert.DeserializeObject(o, typeof(Table));
        //return tbl;
    }
Table Table=null;
会话[“table”]=tableToJson(table);
table=JSONTOBLE(会话[“table]”);
私有字符串tableToJson(表obj)
{
//Formatting.Indented,新JsonSerializerSettings(){ReferenceLoopHandling=ReferenceLoopHandling.Serialize}
//返回JsonConvert.SerializeObject(obj,Formatting.Indented,new JsonSerializerSettings(){ReferenceLoopHandling=ReferenceLoopHandling.Serialize});
//返回JsonConvert.SerializeObject(obj);
//返回JsonConvert.SerializeObject(obj,Newtonsoft.Json.Formatting.Indented,new JsonSerializerSettings(){PreserveReferencesHandling=PreserveReferencesHandling.All});
StringBuilder sb=新的StringBuilder();
HtmlTextWriter tw=新的HtmlTextWriter(新的StringWriter(sb));
目标渲染控制(tw);
返回tw.InnerWriter.ToString();
}
私有表JSONTOBLE(对象obj)
{
字符串序列化数据=(字符串)对象;

serializedData=serializedData.Replace(“您的代码没有提到
Session
现在,我已经将其添加到代码顶部,感谢您的回复。”。。