プロジェクトに 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.
約1週間前にこのエラーが発生し、その属性を追加することで問題が解決しました。しかし、今日、私は再びこのエラーを受け取りました!!! 私は何を間違えましたか?!!これを解決するために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))#>
{
<#
....