コード例 #1
0
        private async Task <bool> RunBlade()
        {
            bool ok = await Task.Run(() =>
            {
                string be       = @"C:\Program Files (x86)\Hexagon\PC-DMIS Blade 5.0 (Release)\Blade.exe";
                string rpt      = @"D:\ServerPathRoot\blades\TestPart\Results\blade190121033341.rpt";
                BladeContext bc = new BladeContext(10);
                return(bc.StartBlade(be, rpt));
            });

            return(ok);
        }
コード例 #2
0
        public MeasureServiceContext(double pcTimeout, double bdTimeout)
        {
            _pcdmisCore      = new PCDmisService(pcTimeout /* 测量超时时间 */); //
            _bladeMeasAssist = new BladeMeasAssist();
            _bladeContext    = new BladeContext(bdTimeout);
            _serverInError   = false;

            // 心跳信号
            _isConnected    = false;
            _dateTime       = DateTime.Now;
            _timer          = new System.Timers.Timer(1000);
            _timer.Elapsed += ListenHeartbeat;
            _timer.Start();
            //_pcdmisMonitorTimer = new Timer(3000); // PCDMIS监控定时器
            //_pcdmisMonitorTimer.Elapsed += _pcdmisMonitorTimer_Elapsed;
        }
コード例 #3
0
        public virtual async Task <BladeContext> OpenBlade(Action <BladeContext> configureContext, string url, Router router, IBladeStack bladeStack, BladeContext currentBlade, IDictionary <string, object> attributes = null)
        {
            var routeData = FindRoute(url, router);

            BladeContext bladeContext = new BladeContext()
            {
                Url       = url,
                BladeType = routeData.PageType
            };

            configureContext(bladeContext);

            RenderFragment renderFragment = (builder) =>
            {
                builder.OpenComponent(0, routeData.PageType);

                var i = 1;
                foreach (var kvp in routeData.RouteValues)
                {
                    builder.AddAttribute(i++, kvp.Key, kvp.Value);
                }

                if (attributes != null)
                {
                    foreach (var kvp in attributes)
                    {
                        builder.AddAttribute(i++, kvp.Key, kvp.Value);
                    }
                }

                builder.CloseComponent();
            };

            bladeContext.RenderFragment = renderFragment;

            await bladeStack.ReplaceAfter(currentBlade, bladeContext);

            return(bladeContext);
        }