dotRAS Disconnected State not triggered

Posted by JD on Stack Overflow See other posts from Stack Overflow or by JD
Published on 2010-04-13T09:33:29Z Indexed on 2010/04/14 0:43 UTC
Read the original article Hit count: 674

Filed under:
|
|
|

Can someone give me a heads up... I'm trying to use the dotRAS .NET control, and this code to change the value of internetConnected (boolean) using an event handler...

But it seems that the state RasConnectionState.Disconnected is not triggered by dotRAS hangup()..

Any ideas? Am I doing it totally wrong... or have I managed to find a bug?

    public class USBModem
    {
        // private vars
        private RasDialer dialer = new RasDialer();
        private bool internetConnected = false;

        /// <summary>
        /// Default constructor for USBModem
        /// </summary>
        public USBModem()
        {
            // Add Events for dialer
            dialer.StateChanged += new EventHandler<StateChangedEventArgs>(dialer_StateChanged);
        }

        void dialer_StateChanged(object sender, StateChangedEventArgs e)
        {
            // Handle state changes here
            switch (e.State)
            {
                case RasConnectionState.Connected:
                    internetConnected = true;
                    Console.WriteLine(e.State.ToString());
                    break;
                case RasConnectionState.Disconnected:
                    internetConnected = false;
                    Console.WriteLine(e.State.ToString());
                    break;
                default:
                    Console.WriteLine("INFO -> Unhandled state: " + e.State.ToString());
                    break;
            }
        }

        public void ConnectInternet(string connectionName)
        {
            // Dial
            dialer.PhoneBookPath = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);
            dialer.EntryName = connectionName;
            dialer.DialAsync();
        }

        public void DisconnectInternet()
        {
            foreach (RasConnection connection in dialer.GetActiveConnections())
            {
                connection.HangUp();
            }
        }
    }

© Stack Overflow or respective owner

Related posts about dotras

Related posts about c#