HTTP ಕ್ಲೈಂಟ್ ಸರಿಯಾದ ಪ್ರಾಕ್ಸಿ ಮೂಲಕ XML ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುತ್ತದೆ. ಮುಂದಿನ ಸಾಲು ಮೂಲ URL ನಿಂದ XML ಓದುಗವನ್ನು ರಚಿಸುತ್ತದೆ. ಆ ಸಾಲು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಡೇಟಾವನ್ನು ಪಾರ್ಸ್ ಮಾಡುವ ಬದಲು ಇನ್ನೊಂದು ಪಡೆಯುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.

ಈಗಾಗಲೇ ಉದ್ದೇಶಿತ ಮಾರ್ಗದೊಂದಿಗೆ ಸಂರಚಿಸಲಾದ ಕ್ಲೈಂಟ್‌ಗಾಗಿ, ಅದರ ಪ್ರತಿಕ್ರಿಯೆ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಪಾರ್ಸರ್‌ಗೆ ನೀಡಿ:

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);

ಸಂಬಂಧಿತ ನೇಮ್‌ಸ್ಪೇಸ್‌ಗಳು System.Xml ಮತ್ತು System.Xml.Linq. ಉದಾಹರಣೆಯು DTD ಸಂಸ್ಕರಣೆ ಮತ್ತು ಬಾಹ್ಯ ರೆಸಲ್ಯೂಶನ್ ಅನ್ನು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ; ಅದೇ ಕ್ಲೈಂಟ್ ಮೂಲಕ ಅನಿಯಂತ್ರಿತ ಬಾಹ್ಯ ಘಟಕಗಳನ್ನು ಪಡೆಯುವ ಮಾರ್ಗವಲ್ಲ.

ಮೂಲ URI ದಾಖಲೆಯ ಸ್ಥಳ ಮೆಟಾಡೇಟಾವನ್ನು ಸಂರಕ್ಷಿಸುತ್ತದೆ. ಅನುಮೋದಿತ ಪಾರ್ಸಿಂಗ್ ಅಥವಾ ಮಾನ್ಯತೆ ವರ್ಕ್‌ಫ್ಲೋ ಬಾಹ್ಯ ಸ್ಕೀಮಾಗಳನ್ನು ಅಥವಾ ಇತರ ಅವಲಂಬನೆಗಳನ್ನು ಪಡೆದರೆ, ಆ ಪಡೆಯುವಿಕೆಗಳಿಗೆ ತಮ್ಮದೇ ಸ್ಪಷ್ಟ ಪರಿಹಾರಕ ಮತ್ತು ರೂಟಿಂಗ್ ವಿನ್ಯಾಸ ಬೇಕು.

ಮೊದಲ, ಯಶಸ್ವಿ ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ಪಾಸ್‌ವರ್ಡ್ ಬದಲಿಸಿ ಎರಡನೇ ನೆಟ್‌ವರ್ಕ್ ವೈಫಲ್ಯವನ್ನು ನಿರ್ಣಯಿಸಬೇಡಿ. ಪಾರ್ಸರ್‌ಗೆ ಸ್ಟ್ರೀಮ್ ಸಿಕ್ಕಿತೇ ಅಥವಾ URL ಸಿಕ್ಕಿತೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ, ನಂತರ ಹೆಚ್ಚುವರಿ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಅನುಸರಿಸಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು