【问题标题】:Is it possible to use the IE connection settings from a .NET application是否可以使用 .NET 应用程序中的 IE 连接设置
【发布时间】:2010-09-30 04:11:34
【问题描述】:

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

在拨号时代,IE中既可以指定局域网连接,也可以指定拨号连接,当IE检测到没有局域网时,会询问你是否要连接拨号。

在这种情况下,我使用 wifi 而不是 LAN,使用 GPRS 而不是拨号,而且我使用的不是 IE,而是一个自定义的 .NET 应用程序。用操作系统对话框提示用户就可以了。

我可以使用托管 wlan API (codeplex) 和 GPRS 芯片组制造商的 SDK 自己完成此操作,但我想知道 Windows 7 是否可以为我完成此操作。

【问题讨论】:

    标签: .net internet-explorer windows-7 wifi gprs


    【解决方案1】:

    使用 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

    【讨论】:

    • 如果没有 WLAN 连接,我看不出使用代理如何启动 GPRS。你能再澄清一点吗?
    • @StephaneT - 我只回答了来自 .net 部分的阅读 IE 连接设置。关于选择 2 个可用网络之一的实际问题。
    • 我的意思是,如果你在IE中定义一个连接,不是局域网连接而是拨号或其他连接,是否有可能检测到没有局域网连接并激活其中一个其他连接,而不必自己实现。换句话说,有没有我可以调用的 windows 或 IE api 来为我做这件事。
    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 2010-11-08
    • 2015-07-16
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    相关资源
    最近更新 更多