.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 આપે છે. ગુણધર્મ સુધી પહોંચવા માટે કાસ્ટ કર્યા વિના સમર્થિત ખાતું અને પદ્ધતિ વાપરો.
એક URI કાઢીને બદલીનો WebProxy બનાવવો મૂળ નીતિના પ્રતિ-ગંતવ્ય વર્તન ને ફેંકી દે છે. આ ત્યારે જ કરો જ્યારે નિશ્ચિત એન્ડપૉઇન્ટ ઇચ્છિત એપ્લિકેશન રૂપરેખાંકન હોય, પ્રકાર-ભૂલના ઉપાય તરીકે નહીં.