Oturum durumları seri olarak ayarlanamaz. "StateServer" veya "SQLServer" modunda, ASP.NET oturum durumu nesnelerini serileştirir, bu nedenle serileştirilemeyen nesneler veya MarshalByRef nesneleri kabul edilmez. Aynı kısıtlamalar, özel oturum durumu deposu benzer serileştirmeyi "Özel" modunda gerçekleştiriyorsa geçerlidir.
Çözüm:
Bir Oturum atanırken değişkenler serileştirilemez, bu yüzden sınıfa [Seriyelenebilir] ekleymeyi deneyin. Problem çözme
[Serileştirilebilir] public class MyClass
{ .......
}
[Serializable] hakkında konuşalım; bu yöntem derleyiciye sınıfın serialize edilebileceğini bildirmek için kullanılır
Serileştirme, bir nesne örneğinin durumunu bir depolama ortamına depolama sürecini ifade eder. Bu süreçte, nesnenin genel ve özel alanları ile sınıfın adı (sınıfın bulunduğu montaj dahil) bayt akışına dönüştürülür ve ardından bayt akışı veri akışına yazılır. Nesne daha sonra serilikten çıkarıldığında, orijinal nesnenin özdeş bir kopyası oluşturulur. Nesne yönelimli bir ortamda serileştirme mekanizmaları uygulanırken, kullanım kolaylığı ile esneklik arasında bazı uzlaşmalar olmalıdır. Bu süreç üzerinde yeterince kontrolünüz olduğu sürece, büyük ölçüde otomatik hale getirebilirsiniz. Örneğin, basit ikili serileştirme yeterli değildir ya da bir sınıftaki hangi alanların belirli bir nedenle serileştirilmesi gerektiğini belirlemeye ihtiyaç vardır. Aşağıdaki bölümler, .NET çerçevesinin sağladığı güvenilir serileştirme mekanizmalarını inceleyecek ve serileştirme sürecini ihtiyaçlarınıza göre özelleştirmenizi sağlayan bazı önemli özellikleri vurgulayacaktır.
|