//------------------------------------------------------
        //
        //  Constructors
        //
        //------------------------------------------------------
        #region Constructors

        /// <summary>
        /// ApplicationProxyInternal is created only for browser-hosted applications.
        /// </summary>
        internal ApplicationProxyInternal()
        {
            EventTrace.EasyTraceEvent(EventTrace.Keyword.KeywordHosting | EventTrace.Keyword.KeywordPerf, EventTrace.Level.Verbose, EventTrace.Event.WpfHost_AppProxyCtor);

            if (_proxyInstance != null)
            {
                throw new InvalidOperationException(SR.Get(SRID.MultiSingleton, this.GetType().FullName));
            }
            // Set this here so it will be true for documents or applications (i.e. anything in the browser.)
            BrowserInteropHelper.SetBrowserHosted(true);
            _proxyInstance = this;
        }
 internal ApplicationProxyInternal()
 {
     EventTrace.EasyTraceEvent(EventTrace.Keyword.KeywordPerf | EventTrace.Keyword.KeywordHosting, EventTrace.Level.Verbose, EventTrace.Event.WpfHost_AppProxyCtor);
     if (ApplicationProxyInternal._proxyInstance != null)
     {
         throw new InvalidOperationException(SR.Get("MultiSingleton", new object[]
         {
             base.GetType().FullName
         }));
     }
     BrowserInteropHelper.SetBrowserHosted(true);
     ApplicationProxyInternal._proxyInstance = this;
 }
 private object ReleaseBrowserCallback(object browserCallback)
 {
     Marshal.ReleaseComObject(browserCallback);
     BrowserInteropHelper.ReleaseBrowserInterfaces();
     return(null);
 }