Sunucu Kontrolleri Geliştirme – SEO Hizmeti Sunma – SEO Hizmeti – SEO Hizmeti Ücretleri – SEO Hizmeti Yaptırma
Kontrol Durumu ile Sunucu Kontrolleri Geliştirme
ASP.NET 1.x ile çalışan çoğu geliştirici, ASP.NET’in kontrol ve web formu verilerini sayfa istekleri arasında depoladığı mekanizma olan ViewState kavramına aşinadır. ViewState, dünyanın her yerindeki geliştiriciler için hem bir nimet hem de bir lanet olmuştur, çünkü geliştirme sürecini büyük ölçüde basitleştirebilse de, kontrol edilmediğinde bir web sayfasının boyutunu aşırı derecede şişirme eğilimindedir.
Bu eğilime karşı koymak için birçok geliştirici, zahmetli kontrollerde veya tüm sayfada ViewState’i devre dışı bırakır. Ne yazık ki, ViewState iki farklı veri türü içerdiğinden bunun istenmeyen sonuçları olabilir.
Bir tür, ViewState’te listeleri veya değerleri depolayarak bir veritabanının yeniden sorgulanmasını önlemeye yardımcı olan “olması güzel” verilerdir. Bu tür veriler genellikle ViewState’i şişirmekten sorumludur. Diğeri ise kontrolün düzgün çalışması için gerekli olan “uygun kontrol-işlevselliği için kritik” verilerdir.
ASP.NET 2.0’dan önce, kritik ve sahip olunması güzel veriler arasındaki farkı söylemenin bir yolu yoktu, bu nedenle ViewState’i devre dışı bırakmak bir kontrolü kolayca işe yaramaz hale getirebilirdi.
ASP.NET 2.0’ın kritik veriler için depolama mekanizması olan ControlState’e girin. ControlState’te sakladığınız herhangi bir bilgi, ViewState devre dışı bırakıldığında bile kontrol tarafından her zaman kullanılabilir. Gelecek örnekte, ControlStateExample adlı çok basit bir sunucu kontrolünü uygularken ControlState’in nasıl kullanılacağını göreceksiniz.
Tüm bu kontrol, sayfanın görüntülenme sayısını sayar. Bu, kontrolü çalışırken gördüğünüzde ControlState ve ViewState arasındaki davranış farklılıklarını keşfetmenizi sağlar.
Herhangi bir sunucu kontrolünde olduğu gibi, ControlStateExample kodunu bir web kontrol kitaplığı projesine yerleştirirsiniz, böylece web uygulamanızdan ona başvurabilirsiniz. Bu kontrolün kaynak kodu, Apress web sitesinin Kaynak Kodu alanındaki MessageControls web kontrol kitaplığı projesinin altındaki örnek kodda da mevcuttur.
Kontrol Durumu Örnek Kontrolü Oluşturma
ControlStateExample’ın kaynak kodu oldukça kısa olduğundan, burada bütünüyle gösterilir ve ardından ilgili bölümlerin bir tartışması yapılır.
Sınıf Tanımı
Diğer sunucu denetimlerinin çoğu gibi, Control StateExample sınıfı da işlevlerinin çoğunu WebControl sınıfından devralır. Bu, kontrolünüzü yazarken ihtiyaç duyacağınız ViewState, ControlState, Server, Request, Response ve Page nesnelerine kontrol erişimi sağlar. Dikkate değer bir başka kod parçası da ToolboxData sınıfı özniteliğidir.
Araç kutusundan web formu tasarımcısına bir denetim bıraktığınızda, Visual Studio gerekli HTML’yi otomatik olarak .aspx dosyanıza ekler. ToolboxData özniteliği, Visual Studio’nun bu HTML’yi nasıl biçimlendireceğini bilmesine yardımcı olur. {0}, web kontrol kitaplığınızın etiket öneki için bir yer tutucudur.
ViewStateCounter Özellik
ViewStateCounter, klasik bir ViewState tabanlı özelliktir. Get bölümü, değerin ViewState’te olup olmadığını belirler ve değilse, varsayılan 0 değerini döndürür. Değer ViewState’deyse, bir Tamsayıya dönüştürülür ve döndürülür.
Set bölümü, yeni özellik değerini gelecekte kullanmak üzere doğrudan ViewState’e yerleştirir. ViewState devre dışı bırakılırsa, sayfanın işlenmesi bittiğinde ViewState’te kalan değer kaydedilmez. Bu nedenle, sayfa geri gönderildiğinde, ViewStateCounter varsayılan 0 ayarına geri döner.
ControlState Özellik Depolama Değişkenleri
ViewState’in aksine, ControlState’te geçici değerleri saklayabileceğiniz bir özellik çantası yoktur. Kontrol durumu verilerini depolamak için kendi değişkenlerinizi oluşturmanız gerekir. Bu amaçla ControlStateCounter değişkeni kullanılır.
ControlState mekanizması, bir geri gönderme gerçekleşene kadar değerleri değişkene yüklemeyeceğinden, büyük olasılıkla değişkeni varsayılan bir değerle başlatmak isteyeceksiniz.
NET bilinmesi gerekenler
Bt Dersleri
Asp.Net elemanları
ASP Dersleri
ASP.Net Ders Notları
Sıfırdan Asp.Net Dersleri
ASP. darknet
Aspnet hazır site kodları
ControlState’in Kaydedilmesi
Kontrolünüz ControlState mekanizmasını gerektiriyorsa, kontrolünüzün bulunduğu sayfanın bildirilmesi gerekir. Bunu, OnInit yöntemini geçersiz kılarak ve Page’i arayarak gerçekleştirebilirsiniz.➥
RegisterRequiresControlState(Me). Bu, sayfaya denetiminizin ControlState’i kullanması gerektiğini bildirir ve sayfa, ControlState mekanizmasını kullanılabilir hale getirir. Ayrıca, gerekli görevleri çalıştırabilmesi için temel sınıfın OnInit yöntemini çağırmayı unutmayın.
ControlState’i Kaydetme ve Yükleme
ControlState, ViewState’ten biraz daha hantaldır, çünkü ControlState verilerini SaveControlState ve LoadControlState yöntemleri aracılığıyla manuel olarak kaydetmeniz ve yüklemeniz gerekir.
Sayfa oluşturulmadan hemen önce, ControlState kullanan tüm kontrollerden geçer ve her birinin SaveControlState işlevini yürütür. SaveControlState işlevinin amacı, sayfa geri gönderildiğinde denetimi eski durumuna döndürmek için kullanılabilecek verileri içeren serileştirilebilir bir nesne üretmektir. Sayfa tüm bu nesneleri toplar ve sayfadaki gizli bir alanda kodlanmış metin olarak serileştirir.
Not : Sayfa aslında serileştirilmiş ControlState verilerini VIEWSTATE gizli alanı içinde depolar. ViewState’i devre dışı bırakabilmenize rağmen, mekanizmayı sayfadan tamamen kaldıramazsınız. Bu nedenle, ASP.NET 2.0 tasarımcıları, ContolState verilerini mevcut ViewState işlevini kullanarak sayfaya gömmeye karar verdiler.
Sayfa geri gönderildiğinde, gizli alandaki kodlanmış metnin serisini kaldırır ve nesneleri yeniden oluşturur. Daha sonra bu nesnelerin her birini ilgili denetiminin LoadControlState yöntemine geri iletir. LoadControlState yönteminin amacı, uygun kontrol değerlerini başlatmak için SaveControlState işlevi tarafından orijinal olarak oluşturulan nesneyi kullanmaktır.
SaveControlState işlevinin oluşturulması, tamamen tüm ControlState verilerinizi içeren bir dizi döndürmekten ibarettir. Save➥ ControlState tarafından oluşturulan nesneyi temel sınıfta kaydetmek de iyi bir alışkanlıktır.
Bu işlev, yalnızca iki öğe içeren bir Nesne dizisi döndürür. İlk öğe, temel sınıfın gerektirdiği ControlState verilerini depolayan MyBase.SaveControlState çağrısı tarafından döndürülen nesnedir. ControlState kullanan bir denetimden miras alıyorsanız bu gereklidir.
Temel sınıfınızın herhangi bir ControlState verisi gerektirmediğinden eminseniz, bu bilgiyi alma ve saklama konusunda endişelenmenize gerek yoktur. Bu örnekte, örneğin, temel sınıfa yapılan çağrı her zaman Nothing döndürür, ancak burada tekniği göstermek için kullanılır.
İkinci öğe, ContolStateCounter değişken değeridir. Bu değeri saklamak, sayfa geri gönderildikten sonra ControlStateCounter değişkenini yeniden başlatmanıza olanak tanır. Kontrolünüzde daha fazla değişken varsa, bu değişkenleri hesaba katmak için diziye daha fazla öğe eklemeniz gerekir.
Sayfa geri gönderildiğinde, ControlState’den gelen bilgileri seri durumdan çıkarır ve SaveControlState işlevi tarafından orijinal olarak döndürülen nesneyi yeniden üretir. Ardından, denetiminizi başlatabilmeniz için bu nesneyi LoadControlState yöntemine iletir.
SaveControlState işlevi bir Object dizisi döndürdüğü için, LoadControlState yöntemi gelen verilerin bir nesne dizisi olduğunu varsayar ve buna göre yayınlar. Daha sonra dizideki ilk nesneyi MyBase aracılığıyla temel sınıfa gönderir.
Temel sınıfın kendisini başlatmasına izin veren LoadControlState çağrısı. Ardından ikinci öğeyi bir Tamsayıya dönüştürür ve bunu ControlStateCounter değişkenini başlatmak için kullanır. Bu noktada kontrol başlatılmıştır ve kullanıma hazırdır.
Web sitelerinizi, arama motorlarında en yukarı getirmek adına sizlere 3 adet paket öneriyoruz. Bu paketler sayesinde web siteleriniz aramalarda 1 yıl içerisinde en yukarıya tırmanacaktır.
1) Backlink Paketi 50 $ (Yıllık Ücret)
2) Hızlandırma Paketi 300 $ (Yıllık Ücret)
3) Kelime Yönlendirme Paketi 150 $ (Aylık Ücret)