ConnectivityStatus.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / ClientServices / ConnectivityStatus.cs / 1305376 / ConnectivityStatus.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 
namespace System.Web.ClientServices
{ 
    using System; 
    using System.IO;
    using System.Security.Principal; 
    using System.Security;
    using System.Security.Permissions;
    using System.Security.AccessControl;
 
    public static class ConnectivityStatus
    { 
        public static bool IsOffline  { 
            get {
                if (!_IsOfflineFetched) 
                    FetchIsOffline();
                return _IsOffline;
            }
            set { 
                if (IsOffline != value) {
                    _IsOffline = value; 
                    StoreIsOffline(); 
                }
            } 
        }

        private static bool _IsOffline;
        private static bool _IsOfflineFetched; 

        //[PermissionSet(SecurityAction.Assert, Unrestricted = true)] 
        private static void FetchIsOffline() 
        {
            string path = Path.Combine(System.Windows.Forms.Application.UserAppDataPath, "AppIsOffline"); 
            _IsOffline = File.Exists(path);
            _IsOfflineFetched = true;
        }
 

        //[PermissionSet(SecurityAction.Assert, Unrestricted = true)] 
        private static void StoreIsOffline() 
        {
            string path = Path.Combine(System.Windows.Forms.Application.UserAppDataPath, "AppIsOffline"); 
            if (!_IsOffline) {
                File.Delete(path);
            } else {
                using (FileStream fs = File.Create(path)) { 
                    fs.Write(new byte[0], 0, 0);
                } 
            } 
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK