none
网络连接状态的变化? RRS feed

  • 问题

  • 这是一段用SL3写的程序

    namespace YmgSilverlightApp
    {
        public partial class MainPage : UserControl
        {
            public MainPage()
            {
                InitializeComponent();
                this.Loaded += new RoutedEventHandler(MainPage_Loaded);
                NetworkChange.NetworkAddressChanged += new NetworkAddressChangedEventHandler(NetworkChange_NetworkAddressChanged);
            }
    
            void NetworkChange_NetworkAddressChanged(object sender, EventArgs e)
            {
    
                IsNetworkAvailable();
            }
    
            void MainPage_Loaded(object sender, RoutedEventArgs e)
            {
                if (App.Current.IsRunningOutOfBrowser)
                {
                    textBlock1.Text = "程序在浏览器之外";
                }
                else
                {
                    textBlock1.Text = "程序在浏览器之中";
                }
                IsNetworkAvailable();
            }
    
            private void button1_Click(object sender, RoutedEventArgs e)
            {
                if (App.Current.InstallState == InstallState.NotInstalled)
                {
                    App.Current.Install();
                }
                else
                {
                    MessageBox.Show("应用程序已安装!");
                }
            }
            private void IsNetworkAvailable()
            {
                if (NetworkInterface.GetIsNetworkAvailable())
                {
                    textBlock2.Text = "网络连接正常";
                }
                else
                {
                    textBlock2.Text = "网络连接受阻";
                }
            }
        }
    }
    

     

    程序在IE下运行,拔掉网线后,立刻显示“网络连接受阻”。放到浏览器之外运行后,拔掉网线,不会有这种变化,这其中的原因在哪里呢?


    yeminggeng
    2009年11月23日 8:47

全部回复