.NET IWebProxy: ਸਿਸਟਮ ਪ੍ਰੌਕਸੀਆਂ ਨੂੰ WebProxy ਵਿੱਚ ਕਾਸਟ ਕਰਨ ਤੋਂ ਬਚੋ
IWebProxy ਵਜੋਂ ਵਾਪਸ ਮਿਲੀ ਸਿਸਟਮ ਪ੍ਰੌਕਸੀ ਨੂੰ ਇਹ ਮੰਨੇ ਬਿਨਾਂ ਸੰਭਾਲੋ ਕਿ ਇਸ ਦੀ ਠੋਸ ਕਲਾਸ WebProxy ਹੈ।
IWebProxy policy = WebRequest.GetSystemWebProxy();
request.Proxy = policy;
ਵਾਪਸ ਮਿਲੀ ਵਸਤੂ ਨੂੰ IWebProxy ਵਜੋਂ ਹੀ ਰੱਖੋ। ਇਹ ਅੰਸ਼ ਮੌਜੂਦਾ WebRequest-ਅਧਾਰਿਤ ਕੋਡ ਲਈ ਹੈ, ਨਵੀਂ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਉਸ ਪੁਰਾਣੀ API ਨੂੰ ਅਪਣਾਉਣ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਨਹੀਂ।
WebProxy ਇੰਟਰਫ਼ੇਸ ਲਾਗੂ ਕਰਦਾ ਹੈ, ਪਰ ਇੰਟਰਫ਼ੇਸ ਲਾਗੂ ਕਰਨ ਵਾਲੀ ਹਰ ਵਸਤੂ WebProxy ਤੋਂ ਵਿਰਾਸਤ ਨਹੀਂ ਲੈਂਦੀ। ਇਸ ਲਈ ਸਿਸਟਮ ਰੈਪਰ ਕੋਈ ਵੀ ਨੈੱਟਵਰਕ ਬੇਨਤੀ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਕਾਸਟ ਨੂੰ ਰੱਦ ਕਰ ਸਕਦਾ ਹੈ। WebProxyWrapperOpaque ਵਰਗਾ ਪ੍ਰਾਈਵੇਟ .NET Framework ਕਲਾਸ ਨਾਮ ਲਾਗੂਕਰਨ ਦਾ ਵੇਰਵਾ ਹੈ, ਪ੍ਰੌਕਸੀ ਐਂਡਪੌਇੰਟ ਜਾਂ ਖਾਤੇ ਦੀ ਸਮੱਸਿਆ ਨਹੀਂ।
ਰੂਟ ਫ਼ੈਸਲੇ ਲਈ ਅਸਲ ਮੰਜ਼ਿਲ URI ਨਾਲ IsBypassed(destination) ਅਤੇ GetProxy(destination) ਕਾਲ ਕਰੋ। ਬਾਈਪਾਸ ਉਸੇ ਮੰਜ਼ਿਲ ਨੂੰ ਵਾਪਸ ਦੇ ਸਕਦਾ ਹੈ, ਅਤੇ PAC-ਅਧਾਰਿਤ ਨੀਤੀ ਕਿਸੇ ਹੋਰ ਹੋਸਟ ਲਈ ਹੋਰ ਰੂਟ ਚੁਣ ਸਕਦੀ ਹੈ।
ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ IWebProxy ਪਹਿਲਾਂ ਹੀ Credentials ਪ੍ਰਗਟ ਕਰਦਾ ਹੈ। ਵਿਸ਼ੇਸ਼ਤਾ ਤੱਕ ਪਹੁੰਚਣ ਲਈ ਕਾਸਟ ਕੀਤੇ ਬਿਨਾਂ ਸਮਰਥਿਤ ਖਾਤਾ ਅਤੇ ਢੰਗ ਵਰਤੋ।
ਬਦਲਵੀਂ WebProxy ਬਣਾਉਣ ਲਈ ਇੱਕ URI ਕੱਢਣਾ ਮੂਲ ਨੀਤੀ ਦੇ ਪ੍ਰਤੀ-ਮੰਜ਼ਿਲ ਵਿਵਹਾਰ ਨੂੰ ਛੱਡ ਦਿੰਦਾ ਹੈ। ਇਹ ਤਦ ਹੀ ਕਰੋ ਜਦੋਂ ਸਥਿਰ ਐਂਡਪੌਇੰਟ ਹੀ ਲੋੜੀਂਦੀ ਐਪਲੀਕੇਸ਼ਨ ਸੰਰਚਨਾ ਹੋਵੇ, ਕਿਸਮ-ਗਲਤੀ ਦੇ ਹੱਲ ਵਜੋਂ ਨਹੀਂ।