/// <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); }
private void IBackgroundWorkerInitClientHost_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { try { ShareClassesInterface LEventArgs = new ShareClassesInterface(); LEventArgs.StrObjectTag = "LOADED"; LEventArgs.ObjObjectSource0 = IStrClient; SendMessageToParent(LEventArgs); } catch { } }
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; })); } }