Chuyển XML đã tải xuống cho .NET XmlReader dưới dạng luồng
Chuyển luồng phản hồi qua proxy cho trình phân tích XML thay vì yêu cầu nó tải lại URL gốc.
Máy khách HTTP tải XML qua proxy đúng. Dòng tiếp theo tạo trình đọc XML từ URL gốc. Dòng đó bắt đầu một lần tải khác thay vì phân tích dữ liệu đã tải xuống.
Với một máy khách đã được cấu hình với tuyến đường mong muốn, hãy đưa luồng phản hồi của nó cho trình phân tích:
using var response = await client.GetAsync(documentUri);
response.EnsureSuccessStatusCode();
using var stream = await response.Content.ReadAsStreamAsync();
var settings = new XmlReaderSettings
{
DtdProcessing = DtdProcessing.Prohibit,
XmlResolver = null
};
using var reader = XmlReader.Create(stream, settings, documentUri.AbsoluteUri);
var document = XDocument.Load(reader);
Các không gian tên liên quan là System.Xml và System.Xml.Linq. Ví dụ cố ý tắt xử lý DTD và phân giải bên ngoài; đó không phải là cách tải các thực thể bên ngoài tùy ý qua cùng máy khách đó.
URI cơ sở giữ lại siêu dữ liệu vị trí của tài liệu. Nếu một quy trình phân tích hoặc xác thực đã được phê duyệt thực sự tải lược đồ bên ngoài hoặc các phụ thuộc khác, những lần tải đó cần bộ phân giải rõ ràng và thiết kế định tuyến riêng.
Đừng chẩn đoán lỗi mạng thứ hai bằng cách đổi mật khẩu trên máy khách đầu tiên đã thành công. Xác định xem trình phân tích nhận được luồng hay URL, sau đó theo dõi riêng mọi tài nguyên bổ sung.