2010-09-24 64 views
1

我有一个运行在Windows 7(x86)上的.NET应用程序(WPF但这并不重要)。我想从我的应用程序连接到互联网以调用Web服务。当有wifi连接时,我想使用它。如果没有WiFi连接,我想自动连接到OS中定义的GPRS连接设置(例如,在Internet Explorer的连接设置中)。是否有可能从.NET应用程序使用IE连接设置

在拨号时,您可以在IE中同时指定LAN连接和拨号连接,当IE检测到没有LAN时,系统会询问您是否要连接拨号。

在这种情况下,我有wifi而不是局域网和GPRS而不是拨号,我没有使用IE,而是一个自定义的.NET应用程序。用OS对话框提示用户可以。

我可以使用托管的wlan API(codeplex)和GPRS芯片组manufaturer的SDK自己做这件事,但我想知道Windows 7是否可以为我做到这一点。

回答

2

在WebRequest上使用DefaultWebproxy。 DefaultWebProxy属性从app.config文件读取代理设置。如果没有配置文件,则使用当前用户的Internet Explorer(IE)代理设置。

为前

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."); 
        } 

请查看以下链接 -

  1. http://msdn.microsoft.com/en-us/library/5t9y35bd.aspx
  2. http://msdn.microsoft.com/en-us/library/system.net.webrequest.defaultwebproxy.aspx
  3. http://msdn.microsoft.com/en-us/magazine/cc300743.aspx
+0

我看不到如何使用代理将启动GPRS,如果没有WLAN连接。你能澄清一点吗? – stombeur 2010-09-30 09:18:24

+0

@StephaneT - 我只回答了.net部分的阅读IE连接设置。是您选择2个可用网络之一的实际问题。 – 2010-09-30 11:38:03

+0

我的意思是,如果你在IE中定义一个连接,而不是局域网连接,但是拨号或其他连接,是否有可能检测到没有局域网连接并激活其中一个连接而无需实现你自己。换句话说,是否有一个窗口或IE浏览器API,我可以打电话给我这样做。 – stombeur 2010-09-30 12:52:44

相关问题