Ejemplo n.º 1
0
        /// <summary>
        /// 查询短信账户余额。如果 App.Config 或者 Web.Config 的 AppSetting 中没有 Key="I3kmSMS_GatewayServiceUrl" value="" 的设置,将使用默认的网关地址。
        /// </summary>
        /// <param name="regCode"></param>
        /// <param name="regKey"></param>
        /// <returns></returns>
        public static ArrayOfXElement GetBalance(string regCode, string regKey)
        {
            var binding = new BasicHttpBinding();

            binding.MaxReceivedMessageSize = 2147483647;
            var endpoint = new EndpointAddress(AppConfigurtaionServices.GetAppSettingsString("I3kmSMS_GatewayServiceUrl"));

            var      service   = new sms_gatewaySoapClient(binding, endpoint);
            DateTime TimeStamp = DateTime.Now;
            string   sign      = Shove.Security.Encrypt.MD5(regCode + TimeStamp.ToString() + regKey);
            var      v         = service.QueryBalanceAsync(regCode, TimeStamp.ToString(), sign);

            v.Wait();

            return(v.Result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 发送短信。如果 App.Config 或者 Web.Config 的 AppSetting 中没有 Key="I3kmSMS_GatewayServiceUrl" value="" 的设置,将使用默认的网关地址。
        /// </summary>
        /// <param name="regCode"></param>
        /// <param name="regKey"></param>
        /// <param name="content"></param>
        /// <param name="to"></param>
        /// <param name="sendTime">指定的发送时间,可以实现按指定的发送时间再进行发送的功能</param>
        /// <returns></returns>
        public static ArrayOfXElement SendSMS(string regCode, string regKey, string content, string to, DateTime sendTime)
        {
            var binding = new BasicHttpBinding();

            binding.MaxReceivedMessageSize = 2147483647;
            var endpoint = new EndpointAddress(AppConfigurtaionServices.GetAppSettingsString("I3kmSMS_GatewayServiceUrl"));

            var      service   = new sms_gatewaySoapClient(binding, endpoint);
            DateTime timeStamp = DateTime.Now;
            string   sign      = Shove.Security.Encrypt.MD5(regCode + timeStamp.ToString() + content + to + sendTime.ToString("yyyyMMdd HHmmss") + regKey);
            var      v         = service.SendSMS_2Async(regCode, timeStamp.ToString(), sign, content, to, sendTime);

            v.Wait();

            return(v.Result);
        }