using System; using System.Collections.Generic; using System.Linq; using System.Runtime.Serialization; using System.ServiceModel; using System.ServiceModel.Web; using System.Text; using DeiNiu.Utils; namespace WcfService2 { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Service1”。 public class Service1 : IService1 { public string GetData(int value) { return string.Format("You entered: {0}", value); } public CompositeType GetDataUsingDataContract(CompositeType composite) { if (composite == null) { throw new ArgumentNullException("composite"); } if (composite.BoolValue) { composite.StringValue += "Suffix"; } return composite; } public bool lightTables(int led_color, int port, string[] ele_lab_id, string[] ele_address, string[] Out_count ) { elelab.pick.init_port(enumLabelPickType.pick); Util.WAVE_CURRENT_PICK_STATUS.Clear(); Util.WAVE_CURRENT_LIGHTS_STATUS.Clear(); port = 10; ele_lab_id = new string[3]; ele_address = new string[3]; Out_count = new string[3]; for (int i = 1; i < 4; i++) { ele_lab_id[i - 1] = i + ""; ele_address[i - 1] = i + ""; Out_count[i - 1] = i + ""; } for (int i = 1; i < 4; i++) { led_color = i; elelab.pick.make_data(null, get_byte(led_color + ""), get_byte(led_color + ""), get_byte(port + ""), ele_lab_id, ele_address, Out_count, 0); } return true; } byte get_byte(string data) { int length = data.Length; List str = new List(); for (int i = 0; i < length; i++) { string result = data.Substring(i, 1); char aaaq = Convert.ToChar(result); if ((aaaq >= 0x30) && (aaaq <= 0x39)) { str.Add(data.Substring(i, 1)); } } if (str.Count == 1) { return Convert.ToByte(str[0]); } else if (str.Count == 2) { int len = Convert.ToInt16(str[0]); int len1 = Convert.ToInt16(str[1]); len = len * 10 + len1; return Convert.ToByte(len); } else if (str.Count == 3) { int len = Convert.ToInt16(str[0]); int len1 = Convert.ToInt16(str[1]); int len2 = Convert.ToInt16(str[2]); len = len * 100 + len1 * 10 + len2; return Convert.ToByte(len); } return 0; } } }