public async Task <string> GetCwsBoundingString(int nodeId, int cwsId) { CustomWsBinding binding = await _context.WebServiceBindings.AsNoTracking() .Where(wsb => wsb.NodeID == nodeId && wsb.ServiceID == cwsId) .Include(wsb => wsb.Service) .Include(wsb => wsb.Node) .SingleOrDefaultAsync(); if (binding == null) { return(null); } string rawServiceString = binding.Service.ServiceStr; string ip = new System.Net.IPAddress(binding.Node.ip).ToString(); KeyValuePair <string, string>[] paramSwap = { new KeyValuePair <string, string>("{param1}", binding.Param1), new KeyValuePair <string, string>("{param2}", binding.Param2), new KeyValuePair <string, string>("{param3}", binding.Param3), new KeyValuePair <string, string>("{node_ip}", ip), }; StringBuilder buildServiceStr = new StringBuilder(rawServiceString); foreach (KeyValuePair <string, string> swapper in paramSwap) { buildServiceStr.Replace(swapper.Key, swapper.Value); } return(buildServiceStr.ToString()); }
public async Task CreateWebServiceBinding( int nodeId, int cwsId, string param1, string param2, string param3 ) { CustomWsBinding binding = new CustomWsBinding { ID = 0, ServiceID = cwsId, NodeID = nodeId, Param1 = param1, Param2 = param2, Param3 = param3, }; _context.WebServiceBindings.Add(binding); await _context.SaveChangesAsync(); }