2012-11-07 37 views
6

Tôi KHÔNG sử dụng MVC, viết lại URL, mô-đun HTTP tùy chỉnh, v.v. Trên cuộc gọi cơ bản đến thuộc tính Phiên của một trang web kế thừa System.Web.UI .Page hoặc thông qua System.Web.HttpContext.Current.Session, tôi nhận được lỗi sau:Trạng thái phiên chỉ có thể được sử dụng khi enableSessionState được đặt thành true

Trạng thái phiên chỉ có thể được sử dụng khi enableSessionState được đặt thành true, hoặc trong tệp cấu hình hoặc trong chỉ thị trang. Cũng vui lòng đảm bảo rằng System.Web.SessionStateModule hoặc mô-đun trạng thái phiên tùy chỉnh được bao gồm trong phần <configuration>\<system.web>\<httpModules> trong cấu hình ứng dụng.

Sau khi thực hiện một số nghiên cứu, tôi đã triển khai Web.config như sau, nhưng lỗi vẫn xảy ra. Tôi đang gỡ lỗi ứng dụng web ra khỏi Visual Studio 2010 bằng cách sử dụng máy chủ web tích hợp.

<configuration> 
    <system.web> 
     <compilation debug="true" targetFramework="4.0" /> 
     <sessionState mode="InProc" timeout="60" cookieless="false" /> 
     <pages enableSessionState="true" /> 
     <httpModules> 
      <remove name="Session" /> 
      <add name="Session" type="System.Web.SessionState.SessionStateModule" /> 
     </httpModules> 
    </system.web> 
</configuration> 
+0

Sử dụng ví dụ web.config của bạn, tôi đã tạo ra một ứng dụng web mới NET 4.0 trong Visual Studio 2010 và đã có thể cập nhật biến phiên. Tôi tự hỏi liệu có điều gì khác xảy ra trong ứng dụng của bạn đang gây ra sự cố không. Bạn có thể đăng phiên bản rút gọn của ứng dụng mà vẫn gặp sự cố không? – csm8118

+0

@ csm8118 Tôi quá có thể cập nhật biến phiên trước đó trong yêu cầu. Tuy nhiên, khi tôi cố gắng truy cập vào biến Session đó sau đó trong yêu cầu đó là khi tôi gặp phải vấn đề này. – user786423

+0

vào thời điểm nào trong yêu cầu bạn nhận được lỗi? Bạn có thể đăng mã đang ném lỗi không? – csm8118

Trả lời

0

Vấn đề này được sao chép trong các kịch bản được biết đến của tôi ....

Nếu một bộ khung hoặc một hai yêu cầu song song đang nổi lên từ các trình duyệt, nếu các cả các trang có cùng một trang custombase, truy cập vào phiên dẫn này ngoại lệ do nhiều chủ đề công nhân ...

CẬP NHẬT: Đối với tất cả những người bị vấn đề này, tôi có những phát hiện của tôi ở đây! 1. Tôi có thể tái tạo vấn đề này trong trình duyệt IE (IE10) và FIREFOX (22), mặc dù tôi có cài đặt tuyệt vời của tất cả các kích hoạt..etc.etc ... trong mã cục bộ của tôi, KHI cài đặt IE trong tab Kết nối -> LAN cài đặt có hộp kiểm "Sử dụng máy chủ PROXY cho Localhost ..." được hiển thị là CHECKED - không có cài đặt máy chủ VALX PROXY ...

Khi tôi bỏ chọn điều này Trong IE, cùng mã với DEFAULT Cài đặt phiên, chạy như HORSE !!

Hy vọng rằng sẽ đưa ra một số ánh sáng,

Cảm ơn

3

Vấn đề của bạn là thẳng về phía trước. Nếu bạn thay đổi mã của bạn từ một nơi được thực thi sau sự kiện toàn cầu Session_Start, thì bạn sẽ thấy vấn đề này khá thoải mái. Ví dụ viết mã của bạn trong sự kiện Page_Init hoặc ghi đè OnInit và làm bất cứ điều gì bạn muốn làm với Phiên của bạn ở đó.

Hy vọng điều này sẽ phù hợp với bạn.

1

Tôi đã dành rất nhiều thời gian để gỡ lỗi vấn đề này. Trang web của chúng tôi hoạt động tốt cho đến ngày hôm qua và đột nhiên ngừng hoạt động với lỗi.

Trạng thái phiên chỉ có thể được sử dụng khi enableSessionState được đặt thành true, hoặc trong tệp cấu hình hoặc trong chỉ thị Trang. Cũng vui lòng đảm bảo rằng System.Web.SessionStateModule hoặc một mô-đun trạng thái phiên tùy chỉnh được bao gồm trong phần \\ trong cấu hình ứng dụng.

Khi kiểm tra dịch vụ trạng thái ASP.net bị thiếu trong danh sách dịch vụ.

cài đặt lại nó như dưới đây đã giúp giải quyết vấn đề.

C: \ Windows \ Microsoft.Net \ Framework64 \ v4.0.30319 \ aspnet_regiis -i

+0

liên kết là hư cấu –

+0

Cảm ơn. Nó đã giúp tôi. Trong anyway trên hệ thống mới sau khi Visual Studios và các ứng dụng khác và cài đặt phụ thuộc tôi đã có ngoại lệ với trạng thái phiên. Có, nó có thể dễ dàng giải quyết bằng cách loại bỏ mô-đun phiên và thêm một lần nữa, nhưng nó không phải là lối thoát. Mô-đun phiên không nhất thiết phải được bao gồm trong mô-đun – Regfor

Các vấn đề liên quan