Exemple #1
0
        /// <summary>
        /// 与主应用能程序通讯
        /// </summary>
        /// <param name="AEventArgs"></param>
        /// <returns>00000000:发送成功;
        /// Error001:通讯Service未创建成功
        /// </returns>
        public string SendMessageToParent(ShareClassesInterface AEventArgs)
        {
            string LStrReturn = "00000000";

            try
            {
                if (IBoolServiceIsExists == false)
                {
                    LStrReturn = "Error001";
                    return(LStrReturn);
                }
                using (ChannelFactory <IClient2ServerMessage> LFactory = new ChannelFactory <IClient2ServerMessage>(new NetNamedPipeBinding(), new EndpointAddress("net.pipe://localhost/UMPServer")))
                {
                    IClient2ServerMessage LClientToServerChannel = LFactory.CreateChannel();
                    try
                    {
                        LClientToServerChannel.ProcessingClientMessage(AEventArgs);
                    }
                    catch (Exception ex)
                    {
                        LStrReturn = "Error002" + ex.ToString();
                    }
                    finally
                    {
                        LStrReturn = CloseCommunicationChannel((ICommunicationObject)LClientToServerChannel);
                    }
                }
            }
            catch { }

            return(LStrReturn);
        }
        public string SendMessage2SubFeature(ShareClassesInterface AEventArgs)
        {
            string LStrReturn = string.Empty;

            if (string.IsNullOrEmpty(IStrClientGuid))
            {
                LStrReturn = "Error001";
                return(LStrReturn);
            }

            using (ChannelFactory <IServer2ClientMessage> LFactory = new ChannelFactory <IServer2ClientMessage>(new NetNamedPipeBinding(), new EndpointAddress("net.pipe://localhost/Client_" + IStrClientGuid.ToString())))
            {
                IServer2ClientMessage LServerToClientChannel = LFactory.CreateChannel();
                try
                {
                    LServerToClientChannel.CommandInClient(AEventArgs);
                }
                catch (Exception ex)
                {
                    LStrReturn = "Error002" + ex.ToString();
                }
                finally
                {
                    LStrReturn = CloseCommunicationChannel((ICommunicationObject)LServerToClientChannel);
                }
            }

            return(LStrReturn);
        }
Exemple #3
0
 private void IBackgroundWorkerInitClientHost_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     try
     {
         ShareClassesInterface LEventArgs = new ShareClassesInterface();
         LEventArgs.StrObjectTag     = "LOADED";
         LEventArgs.ObjObjectSource0 = IStrClient;
         SendMessageToParent(LEventArgs);
     }
     catch { }
 }
Exemple #4
0
        public void CommandInClient(ShareClassesInterface AInterfaceArgs)
        {
            try
            {
                if (AInterfaceArgs.StrObjectTag == "SetValue")
                {
                    IIntermediateParam.StrLoginSerialID = AInterfaceArgs.ListObjectSource[0].ToString();
                    IIntermediateParam.StrLoginAccount  = AInterfaceArgs.ListObjectSource[1].ToString();
                    IIntermediateParam.StrLoginUserName = AInterfaceArgs.ListObjectSource[2].ToString();
                    IIntermediateParam.StrFeatureID     = AInterfaceArgs.ListObjectSource[3].ToString();
                    IIntermediateParam.StrFeatureName   = AInterfaceArgs.ListObjectSource[4].ToString();
                    IIntermediateParam.StrFeatureImage  = AInterfaceArgs.ListObjectSource[5].ToString();
                    IIntermediateParam.StrImageSize     = AInterfaceArgs.ListObjectSource[6].ToString();
                    IIntermediateParam.StrUseProtol     = AInterfaceArgs.ListObjectSource[7].ToString();
                    IIntermediateParam.StrServerHost    = AInterfaceArgs.ListObjectSource[8].ToString();
                    IIntermediateParam.StrServerPort    = AInterfaceArgs.ListObjectSource[9].ToString();
                    IIntermediateParam.StrUseStyle      = AInterfaceArgs.ListObjectSource[10].ToString();
                    IIntermediateParam.StrOpenXbap      = AInterfaceArgs.ListObjectSource[11].ToString();
                    IIntermediateParam.StrXbapArgs      = AInterfaceArgs.ListObjectSource[12].ToString();

                    StrBackArrowSource = IIntermediateParam.StrUseProtol + "://" + IIntermediateParam.StrServerHost + ":" + IIntermediateParam.StrServerPort + "/Themes/" + IIntermediateParam.StrUseStyle + "/BackArrow.png";
                    //StrFeatureImageSource = IIntermediateParam.StrUseProtol + "://" + IIntermediateParam.StrServerHost + ":" + IIntermediateParam.StrServerPort + "/Themes/" + IIntermediateParam.StrUseStyle + "/VF_" + IIntermediateParam.StrFeatureImage;
                    StrFeatureContent     = IIntermediateParam.StrFeatureName;
                    StrLoginAccountSource = IIntermediateParam.StrUseProtol + "://" + IIntermediateParam.StrServerHost + ":" + IIntermediateParam.StrServerPort + "/Themes/" + IIntermediateParam.StrUseStyle + "/LoginAccount.png";
                    StrLoginAccountText   = IIntermediateParam.StrLoginAccount + " (" + IIntermediateParam.StrLoginUserName + ")";
                    StrNotesTipSource     = IIntermediateParam.StrUseProtol + "://" + IIntermediateParam.StrServerHost + ":" + IIntermediateParam.StrServerPort + "/Themes/" + IIntermediateParam.StrUseStyle + "/NoteTip.png";
                    IIntNotesCount        = 0;

                    OperationEventArgs LEventArgs = new OperationEventArgs();
                    LEventArgs.StrObjectTag  = "INIT";
                    LEventArgs.ObjectSource0 = IIntermediateParam;
                    SendMessgeToRefrence(LEventArgs);
                }
                else
                {
                    OperationEventArgs LEventArgs = new OperationEventArgs();
                    LEventArgs.StrObjectTag     = AInterfaceArgs.StrObjectTag;
                    LEventArgs.ObjectSource0    = AInterfaceArgs.ObjObjectSource0;
                    LEventArgs.ObjectSource1    = AInterfaceArgs.ObjObjectSource1;
                    LEventArgs.ObjectSource2    = AInterfaceArgs.ObjObjectSource2;
                    LEventArgs.ObjectSource3    = AInterfaceArgs.ObjObjectSource3;
                    LEventArgs.ObjectSource4    = AInterfaceArgs.ObjObjectSource4;
                    LEventArgs.ListObjectSource = AInterfaceArgs.ListObjectSource;
                    SendMessgeToRefrence(LEventArgs);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "CommandInClient");
            }
        }
        public void ProcessingClientMessage(ShareClassesInterface AInterfaceArgs)
        {
            if (AInterfaceArgs.StrObjectTag == "LOADED")
            {
                IStrClientGuid = AInterfaceArgs.ObjObjectSource0.ToString();

                //以下代码为测试代码,将被删除

                //this.Dispatcher.Invoke(new Action(() =>
                //{
                //    WebBrowserFeature.Visibility = System.Windows.Visibility.Visible;
                //    ImageBackGround.Visibility = System.Windows.Visibility.Collapsed;
                //    ImageLoadingFeature.Visibility = System.Windows.Visibility.Collapsed;
                //    SprocketControlLoading.Visibility = System.Windows.Visibility.Collapsed;
                //}));

                ShareClassesInterface LShareClasses = new ShareClassesInterface();
                LShareClasses.StrObjectTag = "SetValue";
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrLoginSerialID);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrLoginAccount);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrLoginUserName);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrFeatureID);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrFeatureName);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrFeatureImage);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrImageSize);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrUseProtol);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrServerHost);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrServerPort);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrUseStyle);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrOpenXbap);
                LShareClasses.ListObjectSource.Add(App.GIntermediateParam.StrXbapArgs);

                SendMessage2SubFeature(LShareClasses);
            }
            else if (AInterfaceArgs.StrObjectTag == "INITED")
            {
                this.Dispatcher.Invoke(new Action(() =>
                {
                    WebBrowserFeature.Visibility      = System.Windows.Visibility.Visible;
                    ImageBackGround.Visibility        = System.Windows.Visibility.Collapsed;
                    ImageLoadingFeature.Visibility    = System.Windows.Visibility.Collapsed;
                    SprocketControlLoading.Visibility = System.Windows.Visibility.Collapsed;
                }));
            }
        }