void GetSingleton()
        {
            ApplicationManager appManager = HostingEnvironment.GetApplicationManager();

            if (_defaultDomainSingleton == null && appManager != null && !AppDomain.CurrentDomain.IsDefaultAppDomain())
            {
                lock (_singletonLock) {
                    if (_defaultDomainSingleton == null)
                    {
                        AppDomain defaultDomain = appManager.GetDefaultAppDomain();
                        defaultDomain.DoCallBack(new CrossAppDomainDelegate(RecycleLimitMonitorSingleton.EnsureCreated));

                        // Keep a proxy reference for later use
                        _defaultDomainSingleton = (RecycleLimitMonitorSingleton)defaultDomain.GetData(_name);
                    }
                }
            }
        }