Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 16577|Yanıt: 1

[ASP.NET] Oturum durumları seri olarak ayarlanamaz. "StateServer" veya "SQLServer" modunda...

[Bağlantıyı kopyala]
Yayınlandı 18.11.2017 21:37:45 | | | |
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.





Önceki:ASP.NET Oturumu depolayan StateServer
Önümüzdeki:SQL Server Bir tabloyu diğerine nasıl kopyalarsın
 Ev sahibi| Yayınlandı 19.11.2017 16:19:48 |
MarshalByRef'ten miras alan bazı nesneler, örneğin DbTransation nesneleri, serileştirilemezler. Bu nedenle, MarshalByRef tipini miras alan nesneleri depolamak için Session'u kullanamazsınız.
Bunun çözüm yolu, Oturumu emüle etmek için Cache ve SessionID kullanmaktır. Cache sınıfı herhangi bir nesneyi önbellekleyebilir.
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com