ਹਰ ਪ੍ਰੌਕਸੀ ਖਾਤੇ ਲਈ ਵੱਖਰਾ .NET ਹੈਂਡਲਰ ਰੱਖੋ
ਪਹਿਲਾਂ ਹੀ ਬੇਨਤੀਆਂ ਸੇਵਾ ਕਰ ਰਹੇ ਟ੍ਰਾਂਸਪੋਰਟ ’ਤੇ WebProxy.Credentials ਬਦਲਣ ਦੀ ਬਜਾਏ ਇੱਕੋ ਸਮੇਂ ਚੱਲਣ ਵਾਲੇ ਖਾਤਿਆਂ ਲਈ ਵੱਖਰੇ ਹੈਂਡਲਰ ਬਣਾਓ।
ਇੱਕ ਟ੍ਰਾਂਸਪੋਰਟ ਆਪਣੇ ਪੂਲ ਮੈਨੇਜਰ ਦੇ ਬਣਨ ਸਮੇਂ ਚੁਣੀ ਗਈ ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣ-ਪ੍ਰਦਾਤਾ ਵਸਤੂ ਰੱਖ ਸਕਦਾ ਹੈ। ਬਾਅਦ ਵਿੱਚ WebProxy.Credentials ਬਦਲਣਾ ਭਰੋਸੇਯੋਗ ਖਾਤਾ-ਬਦਲ ਨਹੀਂ ਹੈ।
ਕਲਾਇੰਟ ਵਰਤਣ ਤੋਂ ਪਹਿਲਾਂ ਰਸਤਾ ਅਤੇ ਖਾਤਾ ਇਕੱਠੇ ਬਣਾਓ:
var proxy = new System.Net.WebProxy(proxyEndpoint)
{
Credentials = new System.Net.NetworkCredential(proxyUser, proxyPassword)
};
var handler = new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = proxy
};
var client = new System.Net.Http.HttpClient(handler);ਐਂਡਪੌਇੰਟ ਅਤੇ ਪ੍ਰਮਾਣ ਐਪਲੀਕੇਸ਼ਨ ਸੰਰਚਨਾ ਤੋਂ ਆਉਂਦੇ ਹਨ। ਦੂਜੀ ਪਛਾਣ ਲਈ ਦੂਜਾ ਹੈਂਡਲਰ ਬਣਾਓ; ਪਹਿਲਾ ਹੈਂਡਲਰ ਸਾਂਝਾ ਕਰਨ ਵਾਲਾ ਦੂਜਾ HttpClient ਉਸ ਦੀ ਨੀਤੀ ਵੀ ਸਾਂਝੀ ਕਰਦਾ ਹੈ।
ਕਸਟਮ ICredentials ਪ੍ਰਦਾਤਾ ਬਾਅਦ ਦੀਆਂ ਚੁਣੌਤੀਆਂ ਦਾ ਜਵਾਬ ਦੇ ਸਕਦਾ ਹੈ, ਪਰ ਸਥਾਪਿਤ ਟਨਲ ਨੂੰ ਦੂਜੇ ਖਾਤੇ ਵਜੋਂ ਦੁਬਾਰਾ ਲੇਬਲ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਅਸਿੰਕ੍ਰੋਨਸ ਕਾਲਾਂ ਦੇ ਆਸ-ਪਾਸ ਇੱਕ ਗਲੋਬਲ ਉਪਭੋਗਤਾ ਨਾਮ/ਪਾਸਵਰਡ ਨਿਰਧਾਰਤ ਕਰਨਾ ਚੁਣੌਤੀ ਦੇ ਸਮੇਂ ਅਤੇ ਖਾਤੇ ਦੀ ਮਾਲਕੀ ਨੂੰ ਟਕਰਾਅ ਵਿੱਚ ਛੱਡਦਾ ਹੈ।
ਜਦੋਂ ਮੁੜ ਵਰਤੋਂ ਦੀ ਲੋੜ ਹੋਵੇ ਤਾਂ ਸੀਮਿਤ ਕਲਾਇੰਟ ਸੈੱਟ ਰੱਖੋ। ਇਸ ਦੇ ਟ੍ਰਾਂਸਪੋਰਟ ਦਾ ਨਿਪਟਾਰਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪੁਰਾਣਾ ਕੰਮ ਕੱਢ ਦਿਓ। ਹਰ ਬੇਨਤੀ ਲਈ ਨਵਾਂ ਹੈਂਡਲਰ ਕਨੈਕਸ਼ਨ ਪੂਲ ਬਰਬਾਦ ਕਰਦਾ ਹੈ; ਹਰ ਇਤਿਹਾਸਕ ਖਾਤਾ ਸਦਾ ਲਈ ਰੱਖਣ ਨਾਲ ਉਹ ਬਿਨਾਂ ਸੀਮਾ ਵਧਦੇ ਹਨ।