예제 #1
0
        private void DoRefreshParsingWork(object sender, DoWorkEventArgs e)
        {
            Tracer.Verbose("AssemblyBackgroundWorkerParser:DoRefreshParsingWork", "START");

            try
            {
                IAssemblyParser parser = AssemblyParserFactory.GetParser(_ParserType);

                foreach (NetAssembly typ in ((ObservableCollection <NetAssembly>)e.Argument))
                {
                    parser.RefreshAssembly(typ);
                }
            }
            catch (Exception err)
            {
                Tracer.Error("AssemblyBackgroundWorkerParser.DoRefreshParsingWork", err);
            }
            finally
            {
                Tracer.Verbose("AssemblyBackgroundWorkerParser:DoRefreshParsingWork", "END");

                //be sure progress is stoped
                EventDispatcher.Instance.RaiseStatus("", StatusEventType.StopProgress);
            }
        }
예제 #2
0
        private void DoParsingWork(object sender, DoWorkEventArgs e)
        {
            Tracer.Verbose("AssemblyBackgroundWorkerParser:DoParsingWork", "START");
            try
            {
                IAssemblyParser parser = AssemblyParserFactory.GetParser(_ParserType);
                e.Result = parser.LoadAssemblyRecursively((string)e.Argument);
            }
            catch (Exception err)
            {
                Tracer.Error("AssemblyBackgroundWorkerParser.DoParsingWork", err);
            }
            finally
            {
                Tracer.Verbose("AssemblyBackgroundWorkerParser:DoParsingWork", "END");

                //be sure progress is stoped
                EventDispatcher.Instance.RaiseStatus("", StatusEventType.StopProgress);
            }
        }