Est-il possible d'utiliser les paramètres de connexion IE à partir d'une application .NET
-
05-10-2019 - |
Question
J'ai une application .NET (WPF, mais qui n'a pas vraiment d'importance) fonctionnant sous Windows 7 (x86). Je veux me connecter à Internet de ma demande d'appeler un service Web. Quand il y a une connexion wifi, je veux l'utiliser. S'il n'y a pas de connexion wifi, je veux connecter automatiquement à un paramètre de connexion GPRS défini dans le système d'exploitation (par exemple dans les paramètres de connexion de Internet Explorer).
Dans les jours de dial-up, vous pouvez spécifier à la fois une connexion LAN et une connexion d'accès à distance dans IE, et quand IE détecté qu'il n'y avait pas de réseau local, on vous a demandé si vous vouliez vous connecter à dial-up.
Dans ce cas, j'ai wifi au lieu de LAN et GPRS au lieu de dialup et je ne suis pas en utilisant IE, mais une application .NET personnalisée. Incitation à l'utilisateur une boîte de dialogue du système d'exploitation serait OK.
Je peux le faire moi-même avec l'API géré wlan (de CodePlex) et le SDK du chipset GPRS manufaturer, mais je veux savoir s'il y a une façon que Windows 7 peut le faire pour moi.
La solution
Utilisation DefaultWebproxy disponible sur un WebRequest. La propriété DefaultWebProxy lit les paramètres du proxy à partir du fichier app.config. S'il n'y a pas de fichier de configuration, les paramètres proxy Internet Explorer de l'utilisateur actuel (IE) sont utilisés.
Ex -
webRequest.Credentials = CredentialCache.DefaultCredentials;
if (WebRequest.DefaultWebProxy != null)
{
webRequest.Proxy = WebRequest.DefaultWebProxy;
webRequest.Credentials = CredentialCache.DefaultCredentials;
webRequest.Proxy.Credentials = CredentialCache.DefaultNetworkCredentials;
}
else
{
Trace.WriteLine("Unable to detect proxy.");
}
Vérifiez ces liens -