public ServiceResponseData InvokeWcfService(string wcfpluginname, string wcfcontroller, string wcfmethod, Action <ClientRequestData> requestAction) { ClientLink wcfClientLink = ClientLinkManage.CreateConnection(wcfpluginname); ServiceResponseData retData = wcfClientLink.Request(wcfcontroller, wcfmethod, requestAction); return(retData); }
private void InitTreePlugin() { treePlugin.Nodes.Clear(); plist = ClientLinkManage.CreateConnection("Test").GetWcfServicesAllInfo(); cbplugin.ValueMember = "pluginname"; cbplugin.DisplayMember = "pluginname"; cbplugin.DataSource = plist; foreach (var p in plist) { TreeNode root = new TreeNode(p.pluginname); root.ImageIndex = 0; root.SelectedImageIndex = 0; foreach (var c in p.controllerlist) { TreeNode ctn = new TreeNode(c.controllername); ctn.ImageIndex = 1; ctn.SelectedImageIndex = 1; foreach (var m in c.methodlist) { TreeNode mtn = new TreeNode(m); mtn.ImageIndex = 2; mtn.SelectedImageIndex = 2; mtn.Tag = p.pluginname + "#" + c.controllername + "#" + m; ctn.Nodes.Add(mtn); } root.Nodes.Add(ctn); } treePlugin.Nodes.Add(root); } }
private ServiceResponseData InvokeWcfService(string wcfpluginname, string wcfcontroller, string wcfmethod, Action<ClientRequestData> requestAction) { ClientLink wcfClientLink = ClientLinkManage.CreateConnection("localendpoint", wcfpluginname); //绑定LoginRight Action<ClientRequestData> _requestAction = ((ClientRequestData request) => { request.LoginRight = new EFWCoreLib.CoreFrame.Business.SysLoginRight(); if (requestAction != null) requestAction(request); }); ServiceResponseData retData = wcfClientLink.Request(wcfcontroller, wcfmethod, _requestAction); return retData; }
public IAsyncResult InvokeWcfServiceAsync(string wcfpluginname, string wcfcontroller, string wcfmethod, Action <ClientRequestData> requestAction, Action <ServiceResponseData> responseAction) { ClientLink wcfClientLink = ClientLinkManage.CreateConnection(wcfpluginname); //绑定LoginRight Action <ClientRequestData> _requestAction = ((ClientRequestData request) => { request.LoginRight = LoginUserInfo; if (requestAction != null) { requestAction(request); } }); return(wcfClientLink.RequestAsync(wcfcontroller, wcfmethod, _requestAction, responseAction)); }
public static ServiceResponseData InvokeWcfService(string wcfpluginname, string wcfcontroller, string wcfmethod, Action <ClientRequestData> requestAction) { ClientLink wcfClientLink = ClientLinkManage.CreateConnection(wcfpluginname); //绑定LoginRight Action <ClientRequestData> _requestAction = ((ClientRequestData request) => { request.LoginRight = new EFWCoreLib.CoreFrame.Business.SysLoginRight(); request.LoginRight.WorkId = _WorkId; if (requestAction != null) { requestAction(request); } }); ServiceResponseData retData = wcfClientLink.Request(wcfcontroller, wcfmethod, _requestAction); return(retData); }
public Object GetAllServices() { try { //string data= WebApiGlobal.normalIPC.CallCmd(IPCName.GetProcessName(IPCType.efwplusBase), "getallservices", null); //List<WcfFrame.ServerManage.dwPlugin> plist = JsonConvert.DeserializeObject<List<WcfFrame.ServerManage.dwPlugin>>(data); List <dwPlugin> plist = ClientLinkManage.CreateConnection("Test").GetWcfServicesAllInfo(); List <amazeuitreenode> tree = new List <amazeuitreenode>(); foreach (var p in plist) { amazeuitreenode nodep = new amazeuitreenode(); nodep.title = p.pluginname; nodep.type = "folder"; nodep.childs = new List <amazeuitreenode>(); tree.Add(nodep); foreach (var c in p.controllerlist) { amazeuitreenode nodec = new amazeuitreenode(); nodec.title = c.controllername; nodec.type = "folder"; nodec.childs = new List <amazeuitreenode>(); nodep.childs.Add(nodec); foreach (var m in c.methodlist) { amazeuitreenode nodem = new amazeuitreenode(); nodem.title = m; nodem.type = "item"; nodem.attr = new Dictionary <string, string>(); nodem.attr.Add("plugin", p.pluginname); nodem.attr.Add("controller", c.controllername); nodem.attr.Add("method", m); nodec.childs.Add(nodem); } } } return(tree); } catch (Exception e) { throw e; } }
public Object GetAllServices() { try { List <dwPlugin> plist = ClientLinkManage.CreateConnection("Test").GetWcfServicesAllInfo(); List <amazeuitreenode> tree = new List <amazeuitreenode>(); foreach (var p in plist) { amazeuitreenode nodep = new amazeuitreenode(); nodep.title = p.pluginname; nodep.type = "folder"; nodep.childs = new List <amazeuitreenode>(); tree.Add(nodep); foreach (var c in p.controllerlist) { amazeuitreenode nodec = new amazeuitreenode(); nodec.title = c.controllername; nodec.type = "folder"; nodec.childs = new List <amazeuitreenode>(); nodep.childs.Add(nodec); foreach (var m in c.methodlist) { amazeuitreenode nodem = new amazeuitreenode(); nodem.title = m; nodem.type = "item"; nodem.attr = new Dictionary <string, string>(); nodem.attr.Add("plugin", p.pluginname); nodem.attr.Add("controller", c.controllername); nodem.attr.Add("method", m); nodec.childs.Add(nodem); } } } return(tree); } catch (Exception e) { throw e; } }
private void btnRequest_Click(object sender, EventArgs e) { try { btnRequest.Enabled = false; ServiceResponseData retjson = ClientLinkManage.CreateConnection(cbplugin.Text).Request(string.Format("{0}", cbcontroller.Text), cbmothed.Text, (ClientRequestData request) => { request.SetJsonData(txtparams.Text.Trim()); }); txtResult.Text = retjson.GetJsonData(); } catch (Exception err) { MessageBox.Show(err.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { btnRequest.Enabled = true; } }
private void FrmTest_FormClosed(object sender, FormClosedEventArgs e) { //5.关闭连接 ClientLinkManage.UnAllConnection(); }
static string ExecuteCmd(string m, Dictionary <string, string> a) { string retData = "succeed"; try { switch (m) { case "stop": WcfGlobal.ExitBase(); break; case "start": WcfGlobal.MainBase(WcfGlobal.Identify); break; case "close": Environment.Exit(0); break; case "getmnodeconfig": //获取节点配置对象 retData = EFWCoreLib.CoreFrame.Init.HostRunConfigInfo.GetConfigSubject(); break; case "getmnodetext": //获取节点配置文本信息 retData = EFWCoreLib.CoreFrame.Init.HostRunConfigInfo.GetConfigText(); break; case "initmonitor": //初始化监控平台的默认登录用户 EFWCoreLib.WcfFrame.Utility.MonitorPlatform.MonitorPlatformManage.Init(); break; case "ssosignin": //单点登录 EFWCoreLib.CoreFrame.SSO.UserInfo userInfo = new EFWCoreLib.CoreFrame.SSO.UserInfo(); userInfo.UserCode = a["usercode"]; userInfo.EmpName = a["username"]; string token; EFWCoreLib.CoreFrame.SSO.SsoHelper.SignIn(userInfo, out token); retData = token; break; case "ssosignout": //单点登录退出 EFWCoreLib.CoreFrame.SSO.SsoHelper.SignOut(a["token"]); break; case "ssovalidatetoken": //单点登录验证 EFWCoreLib.CoreFrame.SSO.AuthResult ar = EFWCoreLib.CoreFrame.SSO.SsoHelper.ValidateToken(a["token"]); retData = JsonConvert.SerializeObject(ar); break; case "clientlist": //获取节点客户端列表 retData = JsonConvert.SerializeObject(EFWCoreLib.WcfFrame.ServerManage.ClientManage.ClientDic.Values.ToList()); break; case "sevicelist": //本地插件 retData = JsonConvert.SerializeObject(EFWCoreLib.WcfFrame.ServerManage.RemotePluginManage.GetLocalPlugin()); break; case "debuglog": retData = MiddlewareLogHelper.ReadFile(a["logtype"], a["date"]); break; case "getmnodetree": //获取节点状态树 retData = JsonConvert.SerializeObject(EFWCoreLib.WcfFrame.ServerManage.MNodeStateManage.GetMNodeTree()); break; case "getallservices": //获取本地所有服务 List <dwPlugin> plist = ClientLinkManage.CreateConnection("Test").GetWcfServicesAllInfo(); retData = JsonConvert.SerializeObject(plist); break; case "gettasklist": //获取任务列表 List <TaskConfig> tasklist = TaskConfigManage.LoadXML(); retData = JsonConvert.SerializeObject(tasklist); break; case "getmachinecode": //获取机器码 retData = TimeCDKEY.GetCpuId(); break; case "activateregcode": //激活注册码 retData = TimeCDKEY.ActivateRegCode(a["regcode"]) ? "true" : "false"; break; case "rootremotecommand": //远程命令 retData = EFWCoreLib.WcfFrame.ServerManage.DataManage.RootRemoteCommand(a["identify"], a["eprocess"], a["method"], a["arg"]); break; case "createregcode": //生成注册码 retData = Encryption.EncryPW(TimeCDKEY.CreatSerialNumber(a["identify"], a["machinecode"], a["regdate"]), "kakake888"); break; } ShowMsg(Color.Black, DateTime.Now, "efwplusBase命令执行完成:" + m); retData = retData.Substring(0, retData.Length > 5000 ? 5000 : retData.Length); return(retData); } catch (Exception e) { retData = e.Message; return(retData); } }
public IAsyncResult InvokeWcfServiceAsync(string wcfpluginname, string wcfcontroller, string wcfmethod, Action <ClientRequestData> requestAction, Action <ServiceResponseData> responseAction) { ClientLink wcfClientLink = ClientLinkManage.CreateConnection(wcfpluginname); return(wcfClientLink.RequestAsync(wcfcontroller, wcfmethod, requestAction, responseAction)); }