Oturum durumu sunucusuna oturum durumu isteği yapılamıyor


122

Sitemiz şu anda bu sorunu yaşıyor. Temel olarak, yalnızca yeni bir pencere açacağı bazı belirli bağlantılara tıkladığımızda olur.
Aldığımız hata mesajı:

Oturum durumu sunucusuna oturum durumu isteği yapılamıyor.
Lütfen ASP.NET Durum hizmetinin başlatıldığından ve istemci ile sunucu bağlantı noktalarının aynı olduğundan emin olun.
Sunucu uzak bir makinede ise, lütfen HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection değerini kontrol ederek uzak istekleri kabul ettiğinden emin olun.
Sunucu yerel makinedeyse ve daha önce belirtilen kayıt defteri değeri yoksa veya 0 olarak ayarlanmışsa, durum sunucusu bağlantı dizesi sunucu adı olarak "localhost" veya "127.0.0.1" kullanmalıdır.

hedef bölge :
Void MakeRequest (StateProtocolVerb, System.String, StateProtocolExclusive, Int32, Int32, Int32, Byte [], Int32, Int32, SessionNDMakeRequestResults ByRef)

bu, sessionstate etiketini içeren webconfig'tir:

<sessionState mode="StateServer" timeout="45" />

ASP.NET Durum Hizmetini kontrol ettim ve şu anda başlatıldı ve otomatik olarak ayarlandı

Hata mesajında ​​belirtilen kayıt defterini 1 olarak ayarladım, ancak hala çalışmıyor.

Yanıtlar:


305
  1. Başlat–> Yönetim Araçları -> Hizmetler
  2. ASP.NET Durum Hizmetine sağ tıklayın ve "başlat" a tıklayın

Ek olarak, hizmeti yeniden başlattıktan sonra çalışması için otomatik olarak ayarlayabilirsiniz.


2
Bazen bunun yalnızca ASP.NET Durum Hizmetini birkaç kez yeniden başlattıktan sonra çalıştığını gördüm!
Matthew Lock

2
Benim için bir cazibe gibi çalış
Arun

1
Tam adı aspnet_state.
AmiNadimi

1
Kahramanım ... uzun zamandır onu arıyordu.
G43beli

1
beni kurtardın ... herkesi hareket ettirerek saatler ... ve bu kolay çözümle geldin ... gerçekten .. teşekkürler
Roger Tello

26

1 olarak HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection değiştirmeniz gerekirse, unutmayın yeniden ASP.net devlet parametreyi değiştirdikten sonra hizmet.


@hikkenmikke HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection
Pomster

8

Şunu kontrol et:

stateConnectionString="tcpip=server:port"

doğru. Ayrıca lütfen varsayılan bağlantı noktasının ( 42424) kullanılabilir olduğunu ve sisteminizde sisteminizdeki firewallbağlantı noktasını engelleyen bir bağlantı olmadığını kontrol edin.


1
Aynı sorunu yaşıyorum, Oturum durumu hizmetimin doğru çalıştığını doğruladım, ancak yine de aynı mesajı alıyorum. İşte web.config ayarım: <sessionState mode = "StateServer" stateConnectionString = "tcpip = 127.0.0.1: 42424" sqlConnectionString = "data source = 127.0.0.1; Trusted_Connection = yes" cookieless = "false" timeout = "30" />
lstanczyk

5

Windows çalıştırma penceresinin çalıştırma paneline Services.msc yazın. Sistemimizdeki tüm Windows hizmetlerini listeleyecektir. Şimdi görüntüde gösterildiği gibi Asp .net State servisini başlatmamız gerekiyor .görüntü açıklamasını buraya girin

Sorununuz çözülecek.


Windows Update nedeniyle yeniden başlattıktan sonra bu hatayı aldım. Bu adımları takip ettim ve işe yaradı. Teşekkür ederim.
Mauricio Arias Olave

4

Müşterilerimden biri de aynı sorunla karşı karşıyaydı. Bunu düzeltmek için aşağıdaki adımlar atılır.

 (1) Open Run. 

 (2) Type Services.msc

 (3) Select ASP.NET State Service

 (4) Right Click and Start it.

2

Kontrol edilecek başka bir şey de Windows Güvenlik Duvarı'nın etkin olup olmadığıdır, çünkü bu 42424 numaralı bağlantı noktasını engelliyor olabilir.


2

Bazı geliştiricilerin, standart olmayan bir yapılandırma dosyası (yani web.config değil) veya bir metin dosyası gibi bazı nedenlerden dolayı sunucunun özel IP'sini IIS dışında beklenmedik bir konumda tanımlayacaklarını buldum. Bu, hizmet başlatıldığında, bağlantı noktaları engellenmese, kayıt anahtarlarının doğru olması vb. Durumlarda bile dahili işlemin başarısız olmasına neden olabilir.

Kaseya, özellikle, serveripinternal.txt adlı bir dosyayı VSA sunucusunun kök IIS dizinine yerleştirir. Kendi Kaseya örneğini çalıştıran biri sunucunun dahili IP'sini değiştirdiğinde hata metnini gördüm. Sunucuya ulaşılabilir, IIS yanıt verir ve oturum açma sayfası açılır - ancak oturum açma, belirtilen mesajla başarısız olur.



0

Yakın zamanda bu sorunla karşılaştım ve önerilen çözümlerden hiçbiri sorunu çözmedi. Sorun, oturumda depolanan veri kümelerinin aşırı kullanımı olduğu ortaya çıktı. Kodda oturum büyüklüğünün 10 kat artmasına neden olan bir kusur vardı.

Msdn blogunda bundan bahseden bir makale var. http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx

Canlı sitedeki oturum verilerinin boyutunu ölçmek için özel izleme mesajları yazmak için bir işlev kullandım.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.