ไม่สามารถส่งคำขอสถานะเซสชันไปยังเซิร์ฟเวอร์สถานะเซสชัน


122

ไซต์ของเรากำลังมีปัญหานี้ โดยทั่วไปจะเกิดขึ้นเฉพาะเมื่อเราคลิกลิงก์ใดลิงก์หนึ่งซึ่งจะปรากฏขึ้นในหน้าต่างใหม่
นี่คือข้อความแสดงข้อผิดพลาดที่เราได้รับ:

ไม่สามารถส่งคำขอสถานะเซสชันไปยังเซิร์ฟเวอร์สถานะเซสชัน
โปรดตรวจสอบให้แน่ใจว่าบริการสถานะ ASP.NET เริ่มทำงานและพอร์ตไคลเอนต์และเซิร์ฟเวอร์เหมือนกัน
หากเซิร์ฟเวอร์อยู่บนเครื่องระยะไกลโปรดตรวจสอบให้แน่ใจว่าเซิร์ฟเวอร์ยอมรับคำขอระยะไกลโดยตรวจสอบค่าของ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection
หากเซิร์ฟเวอร์อยู่ในเครื่องโลคัลและหากค่ารีจิสทรีที่กล่าวถึงก่อนหน้านี้ไม่มีอยู่หรือถูกตั้งค่าเป็น 0 สตริงการเชื่อมต่อเซิร์ฟเวอร์สถานะจะต้องใช้ 'localhost' หรือ '127.0.0.1' เป็นชื่อเซิร์ฟเวอร์

ไซต์เป้าหมาย:
โมฆะ MakeRequest (StateProtocolVerb, System.String, StateProtocolExclusive, Int32, Int32, Int32, ไบต์ [], Int32, Int32, SessionNDMakeRequestResults ByRef)

นี่คือ webconfig ที่มีแท็ก sessionstate:

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

ฉันตรวจสอบบริการสถานะ ASP.NET แล้วและขณะนี้เริ่มต้นและตั้งค่าเป็นอัตโนมัติ

ฉันได้ตั้งค่ารีจิสทรีที่ระบุในข้อความแสดงข้อผิดพลาดเป็น 1 แต่ยังใช้งานไม่ได้

คำตอบ:


305
  1. Start–> เครื่องมือการดูแลระบบ -> บริการ
  2. คลิกขวาที่ASP.NET State Serviceแล้วคลิก“ start”

นอกจากนี้คุณสามารถตั้งค่าบริการเป็นอัตโนมัติเพื่อให้บริการนี้ทำงานได้หลังจากรีบูต


2
บางครั้งฉันพบว่ามันใช้งานได้หลังจากรีสตาร์ท ASP.NET State Service สองสามครั้งเท่านั้น!
Matthew Lock

2
ทำงานเหมือนมีเสน่ห์สำหรับฉัน
อรุณ

1
ชื่อที่แน่นอนคือaspnet_state.
AmiNadimi

1
ฮีโร่ของฉัน ... ตามหามานานแล้ว
G43beli

1
คุณช่วยฉันไว้ ... ชั่วโมงเคลื่อนย้ายทุกคน ... และคุณก็มาถึงด้วยวิธีง่ายๆนี้ ... ขอบคุณจริงๆ
Roger Tello

26

หากคุณจำเป็นต้องเปลี่ยน HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection 1 อย่าลืมที่จะรีสตาร์ทรัฐ ASP.netบริการหลังจากที่คุณเปลี่ยนพารามิเตอร์


@hikkenmikke คุณจะตรวจสอบและเปลี่ยน HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection ได้อย่างไร
Pomster

8

ตรวจสอบว่า:

stateConnectionString="tcpip=server:port"

ถูกต้อง. นอกจากนี้โปรดตรวจสอบว่าพอร์ตเริ่มต้น ( 42424) พร้อมใช้งานและระบบของคุณไม่มีfirewallที่ปิดกั้นพอร์ตในระบบของคุณ


1
ฉันมีปัญหาเดียวกันตรวจสอบแล้วว่าบริการสถานะเซสชันของฉันทำงานอย่างถูกต้อง แต่ยังคงได้รับข้อความเหมือนเดิม นี่คือการตั้งค่า web.config ของฉัน: <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

พิมพ์ Services.msc ในแผงการทำงานของหน้าต่างเรียกใช้ windows มันจะแสดงรายการบริการ windows ทั้งหมดในระบบของเรา ตอนนี้เราต้องเริ่มบริการAsp .net Stateตามที่แสดงในภาพใส่คำอธิบายภาพที่นี่

ปัญหาของคุณจะได้รับการแก้ไข


ฉันได้รับข้อผิดพลาดนี้หลังจากรีสตาร์ทเนื่องจาก Windows Update ฉันทำตามขั้นตอนเหล่านี้และได้ผล ขอบคุณ.
Mauricio Arias Olave

4

ลูกค้าของฉันคนหนึ่งประสบปัญหาเดียวกัน ทำตามขั้นตอนต่อไปนี้เพื่อแก้ไขปัญหานี้

 (1) Open Run. 

 (2) Type Services.msc

 (3) Select ASP.NET State Service

 (4) Right Click and Start it.

2

สิ่งที่ต้องตรวจสอบอีกอย่างคือคุณเปิดใช้งาน Windows Firewall หรือไม่เนื่องจากอาจบล็อกพอร์ต 42424


2

ฉันพบว่านักพัฒนาบางคนจะกำหนด IP ส่วนตัวของเซิร์ฟเวอร์นอก IIS ด้วยเหตุผลบางประการในตำแหน่งที่ไม่คาดคิดเช่นไฟล์กำหนดค่าที่ไม่เป็นมาตรฐาน (เช่นไม่ใช่ web.config) หรือไฟล์ข้อความ สิ่งนี้อาจทำให้การทำงานภายในล้มเหลวแม้ว่าบริการจะเริ่มทำงานพอร์ตไม่ถูกบล็อกคีย์ reg ถูกต้อง ฯลฯ

โดยเฉพาะ Kaseya จะวางไฟล์ชื่อ serveripinternal.txt ในไดเร็กทอรี IIS ของเซิร์ฟเวอร์ VSA ฉันเห็นข้อความแสดงข้อผิดพลาดของคุณเมื่อมีคนเรียกใช้อินสแตนซ์ Kaseya ของตัวเองเปลี่ยน IP ภายในของเซิร์ฟเวอร์ เซิร์ฟเวอร์จะสามารถเข้าถึงได้ IIS จะตอบสนองและหน้าล็อกอินจะปรากฏขึ้น - แต่การเข้าสู่ระบบจะล้มเหลวด้วยข้อความที่อ้างถึง



0

เมื่อเร็ว ๆ นี้ฉันพบปัญหานี้และไม่มีวิธีแก้ไขใดที่เสนอให้แก้ไขได้ ปัญหานี้เกิดจากการใช้ชุดข้อมูลที่เก็บไว้ในเซสชันมากเกินไป มีข้อบกพร่องในโค้ดที่ส่งผลให้ขนาดเซสชันเพิ่มขึ้น 10x

มีบทความในบล็อก msdn ที่พูดถึงเรื่องนี้ด้วย http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx

ฉันใช้ฟังก์ชันเพื่อเขียนข้อความการติดตามแบบกำหนดเองเพื่อวัดขนาดของข้อมูลเซสชันบนไซต์จริง


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.