Tôi đang di chuyển một loạt trang web từ máy chủ IIS5 hiện có sang máy chủ web IIS7 hoàn toàn mới. Một trong những trang kéo một tập tin dữ liệu từ một blob trong cơ sở dữ liệu và phục vụ nó cho người dùng cuối:IIS7 - Chỉ định tiêu đề nội dung độ dài trong ASP gây ra lỗi "kết nối lại"
Response.ContentType = rs("contentType")
Response.AddHeader "Content-Disposition", "attachment;filename=" & Trim(rs("docName"))&rs("suffix")' let the browser know the file name
Response.AddHeader "Content-Length", cstr(rs("docsize"))' let the browser know the file size
kiểm tra này trong IIS7 mới cài đặt, tôi nhận được một kết nối "Reset" lỗi trong cả hai trình duyệt Internet Explorer và Firefox. Tài liệu được phân phối chính xác nếu tiêu đề Content-Length bị xóa (nhưng sau đó người dùng sẽ không nhận được thanh tiến trình hữu ích).
Bất kỳ ý tưởng nào về cách sửa lỗi này; cho dù đó là tùy chọn cấu hình máy chủ hay thông qua mã?
Chỉnh sửa 1: Đã thử thêm một chút và lỗi. Các yêu cầu sẽ thành công nếu cả "Enable Buffering" và "Enable Chunked Encoding" đều sai. Nếu một trong hai được kích hoạt, lỗi xảy ra.
Chỉnh sửa 2: Thử nghiệm và thử nghiệm lỗi khác; chỉ ra rằng các tập tin văn bản sẽ làm việc tốt với kịch bản; chỉ các tệp nhị phân (hình ảnh, pdf, v.v.) sẽ không thành công. Vẫn hoàn toàn thất bại nếu không.
Sau khi di chuyển từ XP Pro sang Server 2008 R2, lỗi xảy ra. Tôi đã phải loại bỏ tiêu đề Content-Length để giải quyết vấn đề. – linquize
Cùng một vấn đề và giải pháp ở đây. Đối với những gì nó có giá trị, bạn có thể thay đổi "Content-Length" thành "Content-Size" và nó sẽ làm việc, mặc dù khách hàng có thể không nhận ra rằng (bây giờ không được chấp nhận) tiêu đề. –