コード例 #1
0
        static IFeedbackManager GetFeedbackConnection()
        {
            if (!usePex)
            {
                return(null);
            }
            if (cache != null)
            {
                return(cache);
            }

            string connectionName = Environment.GetEnvironmentVariable("pex_server_channel");

            if (connectionName == null)
            {
                return(null);
            }

            IRemoteServerConnector connector;

            try
            {
                connector = RemoteServer.GetConnector(connectionName);
            }
            catch
            {
                connector = null;
            }
            if (connector == null)
            {
                usePex = false; // no pex
                return(null);
            }

            IService service;

            try
            {
                if (!connector.TryGetService(typeof(IFeedbackManager), out service))
                {
                    usePex = false; // no pex
                    return(null);
                }
            }
            catch
            {
                usePex = false; // no pex
                return(null);
            }
            cache = (IFeedbackManager)service;

            return(cache);
        }