2009-07-01 38 views
7

Tôi có một ứng dụng ASP.NET MVC sử dụng NHibernate và ứng dụng chạy tốt khi chạy nó thông qua máy chủ web ảo VS2008, nhưng khi tôi cố gắng chạy trang web thông qua máy chủ IIS cục bộ của tôi, tôi tiếp tục gặp lỗi NHibernate này : Không có phiên nào được ràng buộc với ngữ cảnh hiện tại. Tôi không biết chuyện gì đã xảy ra. Tui bỏ lỡ điều gì vậy? Tôi chỉ có trang web mặc định IIS của tôi trỏ đến thư mục web của ứng dụng, nơi nó chạy trang Default.aspx. Ý tưởng nào? Cảm ơnNHibernate Session với IIS 7

Trả lời

13

Bạn có đang quản lý ngữ cảnh của mình bằng HttpHandler hoặc HttpModule không? IIS7 yêu cầu một nhóm cấu hình khác nhau trong web.config cho những điều này.

<system.webServer> 
<modules></modules> 
<handlers></handlers> 
</system.webServer> 

Nút này phải nằm ngoài nút <system.web />.

Bạn có thể có một phần <httpHandlers /><httpModules />, các công việc này với IIS6, nhưng không IIS7 trừ khi bạn đang chạy trong chế độ cũ. Cũng có thể là nếu bạn kết thúc phiên khi sự kiện EndRequest được kích hoạt, nó sẽ được kích hoạt bởi một yêu cầu cho một hình ảnh hoặc tài nguyên tĩnh khác sẽ yêu cầu kết thúc trước khi gọi đến phương thức hành động của bạn .

+0

Cảm ơn bạn rất nhiều! Điều đó giải quyết vấn đề của tôi chính xác. Cảm ơn bạn về thông tin. Ha, tôi chỉ nhận thấy có một bình luận trong file web.config về việc này. Tôi đoán tôi nên nhìn khó hơn.:P – CalebHC

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