Tôi có cùng một vấn đề và không thể cung cấp giải pháp tốt (ngoài những gì Tood đề xuất, trong đó là một tùy chọn). Nhưng nhìn vào tình hình với fiddler & co., Tôi có thêm một số thông tin có thể giúp đỡ.
Ứng dụng của chúng tôi đang tạo tài liệu PDF khi đang di chuyển và cung cấp chúng dưới dạng tài nguyên đã tải xuống. Vấn đề rõ ràng là phụ thuộc vào dữ liệu, có nghĩa là một số tệp được tạo tải xuống tốt trong lần thử đầu tiên trong khi những tệp khác lại cần phải thử lại.
Fiddler hiển thị các phản hồi của máy chủ giống hệt nhau trên mỗi truy cập, theo như tôi có thể biết. Các yêu cầu khác nhau, tuy nhiên (mẫu hơi thay đổi nội dung):
yêu cầu đầu tiên:
GET http://localhost:12345/Item/PDF/id HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: ...
Accept-Language: ...
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip, deflate
Host: localhost:12345
Connection: Keep-Alive
Cookie: ASP.NET_SessionId=52znkt1fcisrolj44tnuyzu4
yêu cầu thứ hai:
GET http://localhost:12345/Item/PDF/id HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Host: localhost:12345
Connection: Keep-Alive
Cookie: ASP.NET_SessionId=52znkt1fcisrolj44tnuyzu4
Lưu ý, cách yêu cầu thứ hai giảm 'Accept:' tiêu đề để chỉ */*
. Lý do mà tôi miễn cưỡng để thêm một phần mở rộng tập tin cho Url là tên tải về đề xuất được tạo ra từ dữ liệu mục, gửi với phản ứng và nếu không hoàn toàn không liên quan đến ID.
gì phiên bản của ví dụ? – Joe
Tôi đã cập nhật câu hỏi. –
Cài đặt trình phát và chạy nó khi bạn thực hiện yêu cầu đầu tiên. Bạn sẽ có thể kiểm tra phản hồi từ máy chủ. Có lẽ điều đó sẽ làm sáng tỏ vấn đề. http://www.fiddler2.com/fiddler2/ – Joe