คำถามติดแท็ก httpwebresponse

8
WebClient กับ HttpWebRequest / HttpWebResponse
สำหรับฉันแล้วดูเหมือนว่าสิ่งที่สามารถทำได้ส่วนใหญ่HttpWebRequest/Responseก็สามารถทำได้ในWebClientชั้นเรียนเช่นกัน ฉันอ่านที่ไหนสักแห่งที่WebClientเป็นกระดาษห่อหุ้มระดับสูงสำหรับWebRequest/Response. จนถึงตอนนี้ฉันไม่เห็นสิ่งใดที่สามารถทำได้โดยHttpWebRequest/Responseที่ไม่สามารถทำได้ด้วยWebClientและที่ HttpWebRequest / Response จะให้การควบคุมแบบ "ละเอียด" มากขึ้น ฉันควรใช้ WebClient เมื่อใดและเมื่อHttpWebRequest/Responseใด (เห็นได้ชัดว่าHttpWebRequest/Responseเป็น HTTP เฉพาะ) ถ้าHttpWebRequest/Responseเป็นระดับที่ต่ำกว่านั้นWebClientสิ่งที่ฉันสามารถประสบความสำเร็จกับการHttpWebRequest/Responseที่ฉันไม่สามารถประสบความสำเร็จด้วยWebClient?

6
การใช้การจัดการเนื้อหาในส่วนหัวการตอบกลับ HTTP
ฉันพบว่ารหัส asp.net ต่อไปนี้มีประโยชน์มากเมื่อให้บริการไฟล์จากฐานข้อมูล: Response.AppendHeader("content-disposition", "attachment; filename=" + fileName); วิธีนี้ช่วยให้ผู้ใช้บันทึกไฟล์ลงในคอมพิวเตอร์แล้วตัดสินใจว่าจะใช้อย่างไรแทนที่จะให้เบราว์เซอร์พยายามใช้ไฟล์ มีสิ่งใดอีกบ้างที่สามารถทำได้ด้วยส่วนหัวการตอบสนองการจัดการเนื้อหา

2
วิธีตั้งชื่อไฟล์ตอบกลับโดยไม่บังคับให้กล่องโต้ตอบ“ บันทึกเป็น”
ฉันกำลังส่งคืนสตรีมในการตอบสนองบางอย่างเพื่อตั้งค่าcontent-typeส่วนหัวที่เหมาะสม พฤติกรรมที่ฉันกำลังมองหาคือ: หากเบราว์เซอร์สามารถแสดงเนื้อหาของประเภทเนื้อหาที่กำหนดก็ควรแสดงในหน้าต่างเบราว์เซอร์ หากเบราว์เซอร์ไม่ทราบวิธีแสดงผลเนื้อหาควรแสดงกล่องโต้ตอบ "บันทึกเป็น" โดยที่ชื่อไฟล์ควรเป็นชื่อที่ให้ไว้ในการตอบกลับ ปัญหาคือถ้าฉันตั้งค่าContent-Dispositionส่วนหัวด้วย: "ไฟล์แนบ; filename =" myfile.txt "" เบราว์เซอร์จะแสดงกล่องโต้ตอบ "บันทึกเป็น" เสมอ หากฉันไม่ได้ตั้งค่าContent-Dispositionชื่อไฟล์ที่ใช้ในกล่องโต้ตอบ "บันทึกเป็น" จะเป็นชื่อใน URL ที่ใช้ไม่ได้ในกรณีของฉัน ฉันยังลองตั้งค่าContent-Dispositionเป็นinlineแต่ผลลัพธ์ก็เหมือนกัน

5
วิธีรับข้อมูลข้อผิดพลาดเมื่อ HttpWebRequest.GetResponse () ล้มเหลว
ฉันกำลังเริ่มต้น HttpWebRequest แล้วเรียกข้อมูลการตอบกลับ บางครั้งฉันได้รับข้อผิดพลาด 500 (หรืออย่างน้อย 5 ##) แต่ไม่มีคำอธิบาย ฉันสามารถควบคุมจุดสิ้นสุดทั้งสองได้และต้องการให้ปลายทางรับข้อมูลเพิ่มเติมเล็กน้อย ตัวอย่างเช่นฉันต้องการส่งข้อความข้อยกเว้นจากเซิร์ฟเวอร์ไปยังไคลเอนต์ เป็นไปได้ไหมโดยใช้ HttpWebRequest และ HttpWebResponse รหัส: try { HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest; webRequest.Method = WebRequestMethods.Http.Get; webRequest.Credentials = new NetworkCredential(Username, Password); webRequest.ContentType = "application/x-www-form-urlencoded"; using(HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse) { if(response.StatusCode == HttpStatusCode.OK) { // Do stuff with …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.