【发布时间】:2015-06-17 05:12:50
【问题描述】:
我创建了一个自定义提供程序来管理我的 Web 应用程序的会话状态,并且我在提供程序中使用 json serialization and deserialization 来处理会话数据。从提供者那里,我从会话集合中取回 json 字符串,我必须在我的 Web 应用程序中反序列化它以获取具体类型。我不想在我的 Web 应用程序中将会话的 getter 实现从 (T)Session["Key"] 更改为 json.deserialize<T>(Session["Key"])。
因此,为了克服这一点,我必须将 json 字符串转换为提供程序本身中的 .Net 对象。一种方法是使用System.Web.Helpers 的Json.Decode 方法,它将json 字符串转换为.Net 对象,但这不可行,因为提供者将依赖System.web。其他可能的方法是创建一个Expando object,但不能仅通过使用 (T)(eobject) 将该对象类型转换为具体类型,因此这也是不可行的。在我的提供程序中,我可以使用哪些其他方式将 json 字符串转换为 .Net 对象。
【问题讨论】:
标签: c# asp.net json asp.net-mvc session