特定の Web パーツを SharePoint サイトに追加しようとすると、エラーが発生する
「System.Runtime.Serialization.SerializationException: アセンブリ '[MyAssembly]' の型 '[MyType]' はシリアル化可能としてマークされていません。」
通常、これには 2 つの修正方法があることを理解しています。オブジェクトをシリアル化可能としてマークするか、Web アプリケーションのセッション状態を"InProc"
( msdn ) に変更します。私のオブジェクトには COM オブジェクトへのメンバー参照があり、シリアル化できないため、セッション状態モードを InProc に変更したいと考えています。これは、サイトの web.config ファイルで指定されており、machine.config によって上書きされません。
このエラーの他の原因はありますか? web.config ファイルが示している内容に関係なく、SharePoint が別のストレージ モードを使用することは可能ですか? ASP.Net サイトが使用しているストレージ モードを明確に判断する方法はありますか?
完全なスタック トレースは次のとおりです。
at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type)
at System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context)
at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo()
at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck)
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck)
at System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer
)