예제 #1
0
        protected void IceDataServerRoutine(object obj)
        {
            int exit = 0;

            try
            {
                IceDataServer server = obj as IceDataServer;
                if (server is IceDataServer)
                {
                    string[] args = new string[2];
                    args[0] = "AASDataServer.exe";
                    args[1] = "";

                    var props = Util.createProperties();
                    props.setProperty("Ice.IPv6", "0");
                    var icData = new InitializationData();
                    icData.properties = props;
                    exit = server.main(args, icData);
                }
            }
            catch (Exception ex)
            {
                _logger.Error(Title, "订阅服务运行出错!", ex);
            }
        }
예제 #2
0
        public DataSourceServer()
        {
            IDataAdapter ds = new TDFDataAdapter();

            //IDataAdapter ds = new DataAdapter.TDB.TDBDataAdapter();
            ds.Setting = SettingManager.GetInstance.RealTimeAdapterSetting;

            _logger        = UnityContainerHost.Container.Resolve <IWindowLogger>();
            _iceDataServer = new IceDataServer();

            Init(ds);
        }
예제 #3
0
        public bool StartIceDataServer()
        {
            try
            {
                if ((_iceDataServer != null && _iceDataServer.IsRunning != true) || _iceDataServer == null)
                {
                    _iceDataServer           = new IceDataServer();
                    _iceDataServer.IsRunning = true;  //防止再次启动

                    ParameterizedThreadStart server = new ParameterizedThreadStart(IceDataServerRoutine);
                    _iceDataServerThread = new Thread(server);
                    _iceDataServerThread.IsBackground = true;
                    _iceDataServerThread.Start(_iceDataServer);
                    return(true);
                }
            }
            catch (Exception ex)
            {
                _logger.Error(Title, "订阅服务启动失败!", ex);
            }

            return(false);
        }