private void Init() { CallbackService = new CalculatorCallbackService(); //CallbackService.Quit += new EventHandler(cb_Quit); CallbackService.Processed += cb_Process; InstanceContext callback = new InstanceContext(CallbackService); ChannelFactory = new DuplexChannelFactory <ICalculator>(callback, "calculatorservice"); Calculator = ChannelFactory.CreateChannel(); SessionUtility.Callback = CallbackService as ISessionCallback; SessionUtility.Channel = Calculator as ISessionManagement; //calculator.Add(1, 2); //请求服务器端数据 SessionClientInfo clientInfo = new SessionClientInfo() { IPAddress = "127.0.0.1", HostName = "1", UserName = "******" }; TimeSpan timeout; Calculator.StartSession(clientInfo, out timeout); //var client = new CalculatorClient(callback); //var d1 = client.GetProcessData("aa"); var data = Calculator.GetProcessData("client1"); if (data != null && data.Count > 0) { //Thread t1 = new Thread(new ParameterizedThreadStart(DoSomethingWithParameterV2)); //t1.SetApartmentState(ApartmentState.STA); //t1.Start(data); } }
private void Init() { CallbackService = new CalculatorCallbackService(); //CallbackService.Quit += new EventHandler(cb_Quit); CallbackService.Processed += cb_Process; InstanceContext callback = new InstanceContext(CallbackService); ChannelFactory = new DuplexChannelFactory<ICalculator>(callback, "calculatorservice"); Calculator = ChannelFactory.CreateChannel(); SessionUtility.Callback = CallbackService as ISessionCallback; SessionUtility.Channel = Calculator as ISessionManagement; //calculator.Add(1, 2); //请求服务器端数据 SessionClientInfo clientInfo = new SessionClientInfo() { IPAddress = "127.0.0.1", HostName = "1", UserName = "******" }; TimeSpan timeout; Calculator.StartSession(clientInfo, out timeout); //var client = new CalculatorClient(callback); //var d1 = client.GetProcessData("aa"); var data = Calculator.GetProcessData("client1"); if (data != null && data.Count > 0) { //Thread t1 = new Thread(new ParameterizedThreadStart(DoSomethingWithParameterV2)); //t1.SetApartmentState(ApartmentState.STA); //t1.Start(data); } }