Không thể thực hiện yêu cầu trạng thái phiên đối với máy chủ trạng thái phiên


122

Trang web của chúng tôi hiện đang có vấn đề này. Về cơ bản, nó chỉ xảy ra khi chúng ta nhấp vào một số liên kết cụ thể nơi nó sẽ bật lên một cửa sổ mới.
Đây là thông báo lỗi mà chúng tôi nhận được:

Không thể thực hiện yêu cầu trạng thái phiên tới máy chủ trạng thái phiên.
Hãy đảm bảo rằng dịch vụ Trạng thái ASP.NET được khởi động và cổng máy khách và máy chủ giống nhau.
Nếu máy chủ nằm trên một máy từ xa, hãy đảm bảo rằng nó chấp nhận các yêu cầu từ xa bằng cách kiểm tra giá trị của HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection.
Nếu máy chủ nằm trên máy cục bộ và nếu giá trị đăng ký được đề cập trước đó không tồn tại hoặc được đặt thành 0, thì chuỗi kết nối máy chủ trạng thái phải sử dụng 'localhost' hoặc '127.0.0.1' làm tên máy chủ.

trang mục tiêu:
Void MakeRequest (StateProtocolVerb, System.String, StateProtocolExclusive, Int32, Int32, Int32, Byte [], Int32, Int32, SessionNDMakeRequestResults ByRef)

đây là webconfig có chứa thẻ sessiontate:

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

Tôi đã kiểm tra Dịch vụ trạng thái ASP.NET và nó hiện đang được khởi động và đặt thành tự động

Tôi đã đặt sổ đăng ký được nêu trong thông báo lỗi thành 1, nhưng vẫn không hoạt động.

Câu trả lời:


305
  1. Bắt đầu–> Công cụ quản trị -> Dịch vụ
  2. Nhấp chuột phải vào Dịch vụ Trạng thái ASP.NET và nhấp vào “bắt đầu”

Ngoài ra, bạn có thể đặt dịch vụ thành tự động để nó sẽ hoạt động sau khi khởi động lại


2
Đôi khi tôi thấy nó chỉ hoạt động sau khi khởi động lại ASP.NET State Service một vài lần!
Matthew Lock

2
Làm việc như một sự quyến rũ đối với tôi
Arun

1
Tên chính xác là aspnet_state.
AmiNadimi

1
Người hùng của tôi ... đã tìm kiếm điều đó quá lâu.
G43beli

1
bạn đã cứu tôi ... giờ di chuyển tất cả mọi người ... và so với cùng kỳ đến với giải pháp dễ dàng này ... thực sự .. cảm ơn
Roger Tello

26

Nếu bạn cần thay đổi HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection tới 1, hãy nhớ khởi động lại các trạng thái ASP.net dịch vụ sau khi bạn thay đổi các tham số.


@hikkenmikke Làm thế nào để bạn kiểm tra và thay đổi HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ aspnet_state \ Parameters \ AllowRemoteConnection
pomster

8

Kiểm tra xem:

stateConnectionString="tcpip=server:port"

đúng. Ngoài ra, vui lòng kiểm tra xem cổng mặc định ( 42424) có khả dụng không và hệ thống của bạn không có firewallcổng đang chặn cổng trên hệ thống của bạn


1
Tôi gặp sự cố tương tự, Đã xác minh rằng dịch vụ trạng thái phiên của tôi đang chạy chính xác, nhưng vẫn nhận được thông báo tương tự. Đây là cài đặt web.config của tôi: <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

Nhập Services.msc trong bảng điều khiển của cửa sổ chạy cửa sổ. Nó sẽ liệt kê tất cả các dịch vụ windows trong hệ thống của chúng tôi. Bây giờ chúng ta cần khởi động dịch vụ Asp .net State như trong hình.nhập mô tả hình ảnh ở đây

Vấn đề của bạn sẽ được giải quyết.


Tôi gặp lỗi này sau khi khởi động lại do Windows Update. Tôi đã làm theo các bước sau và nó hoạt động. Cảm ơn bạn.
Mauricio Arias Olave

4

Một trong những khách hàng của tôi đang gặp phải vấn đề tương tự. Các bước sau được thực hiện để khắc phục điều này.

 (1) Open Run. 

 (2) Type Services.msc

 (3) Select ASP.NET State Service

 (4) Right Click and Start it.

2

Một điều khác cần kiểm tra là bạn đã bật Tường lửa của Windows hay chưa, vì điều đó có thể đang chặn cổng 42424.


2

Tôi nhận thấy rằng một số nhà phát triển vì lý do nào đó sẽ xác định IP riêng của máy chủ bên ngoài IIS ở một vị trí không mong muốn, chẳng hạn như tệp cấu hình không chuẩn (tức là không phải web.config) hoặc tệp văn bản. Điều này có thể khiến hoạt động bên trong không thành công ngay cả khi dịch vụ được khởi động, các cổng không bị chặn, các khóa đăng ký chính xác, v.v.

Đặc biệt, Kaseya đặt một tệp có tên là serveripinternal.txt trong thư mục IIS gốc của máy chủ VSA. Tôi đã thấy thông báo lỗi của bạn khi ai đó chạy phiên bản Kaseya của riêng họ đã thay đổi IP nội bộ của máy chủ. Máy chủ sẽ có thể truy cập được, IIS sẽ phản hồi và trang đăng nhập sẽ xuất hiện - nhưng đăng nhập sẽ không thành công với thông báo được trích dẫn.



0

Gần đây tôi đã gặp phải vấn đề này và không có giải pháp nào được đề xuất khắc phục được sự cố này. Sự cố hóa ra là do sử dụng quá nhiều tập dữ liệu được lưu trữ trong phiên. Có một lỗ hổng trong mã dẫn đến kích thước phiên tăng lên 10 lần.

Có một bài báo trên blog msdn cũng nói về điều này. http://blogs.msdn.com/b/johan/archive/2006/11/20/sessionstate-performance.aspx

Tôi đã sử dụng một chức năng để viết thông báo theo dõi tùy chỉnh để đo kích thước của dữ liệu phiên trên trang web trực tiếp.


0

Không phải là câu trả lời hay nhất, nhưng dù sao thì đó cũng là một lựa chọn:

Nhận xét dòng đã cho trong web.config.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.