2009-04-15 6 views
7

Tôi có trang web ASP .NET sử dụng các phiên không có cookie. Khi yêu cầu ban đầu được thực hiện để trang web bằng cách sử dụng một url như:Các phiên vô ích và IIS7 gây ra vòng lặp chuyển hướng

http://localhost/site

IE chỉ hiển thị tiêu chuẩn "Internet Explorer không thể hiển thị trang web" tin nhắn. Firefox hữu ích hơn một chút và hiển thị thông báo sau:

"Giới hạn chuyển hướng cho URL này đã vượt quá. Không thể tải trang được yêu cầu. Điều này có thể do cookie bị chặn".

Tôi đặt một số truy tìm vào global.asax và tôi tham gia vào sự kiện bắt đầu ứng dụng nhưng không tham gia vào sự kiện bắt đầu phiên.

Tôi chưa chặn bất kỳ cookie nào có trình duyệt và không thiết lập bất kỳ quy tắc chuyển hướng http nào.

Trang web hoạt động tốt với máy chủ phát triển của tôi và trong IIS6.

Nếu tôi tắt các phiên không nấu thì mọi thứ đều ổn trong IIS7.

Tôi có thể tạo lại điều này bằng các trang web đơn giản nhất, ví dụ: trong Visual Studio, Tệp> Trang web mới và sau đó chỉ cần đặt cài đặt web.config "cookieless =" true ".

Tôi đã thử nghiệm điều này trên một máy trạm colleauges và nó hoạt động, vì vậy tôi đoán nó là một số thiết lập trong IIS7 một nơi nào đó.

Bất kỳ ý tưởng nào?

Trả lời

6

Tôi đã tìm được sự cố.

tôi có hai ISAPI Filters định nghĩa cả hai trỏ đến cùng một dll:

% windir% \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_filter.dll c: \ windows \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_filter.dll

Tôi đã xóa phần thứ hai và tất cả đều tốt. Tôi không biết những gì đặt bản sao ở đó, nó chắc chắn không phải là tôi.

+0

Tôi chấp nhận câu trả lời này nếu có thể, tôi phải làm gì với điều đó? – Carl

+0

Bạn có thể chấp nhận câu trả lời của mình một vài ngày sau khi bạn đã thêm câu trả lời của riêng mình. vì vậy hãy kiểm tra ngay bây giờ :) –

+1

Đây là vấn đề chính xác đối với tôi. Nguyên nhân của tôi đã được cài đặt .NET Framework 1.1. Vì lý do nào đó, nó đặt một bộ lọc ISAPI bổ sung tại chỗ cho 1.1 ứng dụng, mặc dù nó trông giống hệt với bộ lọc 2.0. –