Şirketin sunucuyu yük dengelemesi gerektiğinden, web projesi iki ön uç sunucunun (web1 ve web2) her birine bir tane dağıtır. Ama oturumlar projelerde kullanılır. Web1'e ilk kez indiğinizde, yük web1'den web2'ye geçmek mümkündür çünkü yük web1'den sonra artabilir. İnternetten çok fazla bilgi buldum ve web.config'deki yapılandırmayı da anlıyorum <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" timeout="30" cookieless="AutoDetect" /> İnternette birçok örnek stateConnectionString="tcpip=127.0.0.1:42424", ki bu elbette bir web sunucusu için sorun değil, ancak stateConnectionString'i stateConnectionString="tcpip=192.168.1.82: 42424" olarak değiştirdiğinizde her iki ön uçta da sorun yaşanacaktır. Microsoft spesifik bir çözüm sunmadı ve MSDN'deki örnekler de 127.0.0.1'e işaret ediyor. Daha sonra, araştırma yapıp uzmanlarla danıştıktan sonra, Sessin'i kaydeden sunucunun kayıt defterini değiştirmem gerektiğini fark ettim, burada 192.168.1.82 ve değişiklik şöyle: Kayıt defterini değiştirin:
HKEY_LOCAL_MACHINE"SYSTEM"CurrentControlSet"Services"aspnet_state"Parametreler
AllowRemoteConnection=1
Sonra ASP.NET Devlet Hizmetini yeniden başlatın
Bağlantı yapılandırması şu şekildedir:
<sessionState mode="StateServer" stateConnectionString="tcpip=192.168.1.200:42424" cookieless="Otomatik Algılama" timeout="60" />
Bundan sonra, testten sonra sorun olmadı. Umarım başkalarına da yardımcı olur. Hâlâ anlamadığım başka bir sorun daha var. Yaptığım wap sayfasında veriler sayfadaki ViewState'te saklanacak ve sayfa sürekli yenilendiğinde içindeki veriler kaybolacak ve süre asla 20 dakikayı aşmayacak. Microsoft'tan bir hata mı yoksa başka bir şey mi bilmiyorum, bu sorun web sayfalarında görünmüyor. Çözüm. Bir süre araştırma yaptıktan sonra, WAP sayfasında daha az görünüm durumu kullanmak en iyisidir ve asp.net durum hizmeti etkinleştirilmişse, cookieless true'a ayarlamak en iyisidir, aksi takdirde oturum kaybolur. |