【发布时间】:2013-12-09 21:35:21
【问题描述】:
我是 ASP.Net MVC 的新手。非常感谢任何帮助解决我的问题。
我在我的 MVC 应用程序中使用 LINQToSQL 数据库。对于其中一个自动生成的部分类(示例 MyClass 假设为表 MyClass),我创建了另一个 Partial 类作为 MyClass 并添加了 DataAnnotations,如下所示...
namespcae NP
{
[MetadaType(typeof(myData))]
[Serializable()]
public partial class MyClass
{
}
public myData
{
[Required]
public string ID { get ; set ;}
// Other properties are listed here
}
}
在我的控制器类示例 MyHomeController
我的代码如下:
List<MyClass> list = new List<MyClass>();
list = dbContext.StoredProcedure(null).ToList<MyClass>()
session["data"] = list.
如果我使用 inProc 会话状态,上面的代码可以正常工作。但如果我使用 SQLServer 模式,则会出现错误
"无法序列化会话状态。在 'StateServer' 和 'SQLServer' 模式,ASP.NET 将序列化会话状态对象, 结果是不可序列化的对象或 MarshalByRef 对象 不允许。如果类似的序列化,同样的限制适用 由自定义会话状态存储在“自定义”模式下完成。 "
谁能告诉我我在这里做错了什么......?我可以看到数据正在填充到 ASPState 数据库表中。应用程序抛出错误如下。
【问题讨论】:
标签: sql-server asp.net-mvc session serialization