我的项目中有一个 EDMX 模型。我使用 POCO 实体生成器来生成我的实体类并向我的所有 POCO 实体添加一个 Serializable 属性。但是钢我得到了这个错误:
Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.
大约一周前,我遇到了这个错误,我的问题通过添加该属性解决了。但是今天我又遇到了这个错误!!!我做错了什么?!!有什么我应该添加到我的 POCO 生成器来解决这个问题的吗?!!
更新 1:
这是我在 web.config 中使用的代码
<sessionState timeout="30" mode="StateServer" stateConnectionString="tcpip=localhost:42424" />
更新 2:
这是我的 POCO 生成器:
// Emit Entity Types
foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{
fileManager.StartNewFile(entity.Name + ".cs");
BeginNamespace(namespaceName, code);
bool entityHasNullableFKs = entity.NavigationProperties.Any(np => np.GetDependentProperties().Any(p=>ef.IsNullable(p)));
#>
[Serializable()]
<#=Accessibility.ForType(entity)#> <#=code.SpaceAfter(code.AbstractOption(entity))#>partial class <#=code.Escape(entity)#><#=code.StringBefore(" : ", code.Escape(entity.BaseType))#>
{
<#
....