ಒಂದು ಹೆಸರಿಸಲಾದ HttpClient ಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ಪ್ರಾಕ್ಸಿ IHttpClientFactory ಹಿಂತಿರುಗಿಸುವ ಪ್ರತಿ ಕ್ಲೈಂಟ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದಿಲ್ಲ. ನೋಂದಣಿ ಹೆಸರು ಮತ್ತು ವಿನಂತಿಸಿದ ಹೆಸರನ್ನು ಒಟ್ಟಿಗೆ ಇರಿಸಿ.

services.AddHttpClient("via-proxy")
    .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
    {
        Proxy = new WebProxy("http://203.0.113.10:8080"),
        UseProxy = true
    });

ನಂತರ ಆ ಹೆಸರಿಸಲಾದ ಸಂರಚನೆಯನ್ನು ಪಡೆಯಿರಿ:

var client = factory.CreateClient("via-proxy");

ಎಂಡ್‌ಪಾಯಿಂಟ್ ಉದಾಹರಣಾರ್ಥವಾಗಿದೆ. ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ-ಸೇವಾ ವಿನಂತಿಗಳಿಗಾಗಿ, HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ಹೆಸರಿಸಲಾದ ಕ್ಲೈಂಟ್‌ನ WebProxy URL ಗಾಗಿ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಎಲ್ಲಿಯಾದರೂ ಡೀಫಾಲ್ಟ್ ಹೆಸರಿಲ್ಲದ ಕ್ಲೈಂಟ್ ರಚಿಸುವುದು ಬೇರೆ ಹುಡುಕಾಟ, ಎರಡೂ ಕ್ಲೈಂಟ್‌ಗಳು ಒಂದೇ ಇಂಜೆಕ್ಟ್ ಮಾಡಿದ ಫ್ಯಾಕ್ಟರಿಯಿಂದ ಬಂದರೂ.

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

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

ಸ್ಥಿರ ರೂಟಿಂಗ್ ನೀತಿಗಾಗಿ ಈ ಸಂರಚನೆಯನ್ನು ಬಳಸಿ. ಕಾರ್ಯಾಚರಣೆಗಳ ನಡುವೆ ಲೈವ್ ಹ್ಯಾಂಡ್ಲರ್ ಬದಲಾಯಿಸುವುದು ಪ್ರತ್ಯೇಕ ಸಮಕಾಲೀನತೆ ಮತ್ತು ಜೀವಿತಾವಧಿ ಸಮಸ್ಯೆಯಾಗಿ ಉಳಿಯುತ್ತದೆ.

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