示例#1
0
        private string getInitString(IPortType type, object value)
        {
            string initStr = " = ";

            switch (type.Name)
            {
            case PortTypes.Number:
                if (value is Double numValue)
                {
                    initStr += numValue.ToString(CultureInfo.InvariantCulture);
                }
                else
                {
                    initStr += "Double.NaN";
                }
                break;

            case PortTypes.String:
                initStr += "\"" + value.ToString() + "\"";
                break;

            default: // all kinds of integer values
                initStr += value.ToString().ToLower();
                break;
            }
            return(initStr);
        }
示例#2
0
 public override void CloseConnection()
 {
     ((IClientChannel)proxy)?.Close();
     proxy = null;
     factory?.Close();
     factory = null;
 }
示例#3
0
 public OneSClient Connect(string url, string user, string pass = "")
 {
     CloseConnection();
     factory = new ChannelFactory <IPortType>(binding, new EndpointAddress(url));
     factory.Credentials.UserName.UserName = user;
     factory.Credentials.UserName.Password = pass;
     proxy = factory.CreateChannel();
     return(this);
 }
示例#4
0
        private string getInitString(IPortType type, object value)
        {
            string initStr = " = ";

            switch (type.Name)
            {
            case PortTypes.Number:
                System.Diagnostics.Trace.Assert(value is Double);
                initStr += ((Double)value).ToString(CultureInfo.InvariantCulture);
                break;

            case PortTypes.String:
                initStr += "\"" + value.ToString().Replace("\n", "\\n").
                           Replace("\r", "\\r").
                           Replace("\"", "\\\"") + "\"";
                break;

            default: // all kinds of integer values
                initStr += value.ToString().ToLower();
                break;
            }
            return(initStr);
        }
示例#5
0
        private string getTypeString(IPortType type)
        {
            string typeStr = type.Name;

            switch (typeStr)
            {
            case PortTypes.Number:
                typeStr = "double";
                break;

            case PortTypes.Int64:
                typeStr = "long";
                break;

            case PortTypes.Integer:
                typeStr = "int";
                break;

            default: // byte, bool, or string
                typeStr = type.Name.ToLower();
                break;
            }
            return(typeStr);
        }