private LUISResponse HttpGet(string accessUri, string requestDetails)
        {
            //Prepare OAuth request
            WebRequest webRequest = WebRequest.Create(string.Concat(accessUri, requestDetails));

            webRequest.Method = "GET";
            using (WebResponse webResponse = webRequest.GetResponse())
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(LUISResponse));
                LUISResponse token = (LUISResponse)serializer.ReadObject(webResponse.GetResponseStream());
                return(token);
            }
        }
        public LUISResponse Call(string message)
        {
            // If clientid or client secret has special characters, encode before sending request
            if (this._recoLanguage == "zh-CN")
            {
                this.request = string.Format("id={0}&subscription-key={1}&q={2}",
                                             HttpUtility.UrlEncode(AppIdCh),
                                             HttpUtility.UrlEncode(luisAPIAccountKey),
                                             HttpUtility.UrlEncode(message.Replace("?", "")));
            }
            else
            {
                this.request = string.Format("id={0}&subscription-key={1}&q={2}",
                                             HttpUtility.UrlEncode(AppId),
                                             HttpUtility.UrlEncode(luisAPIAccountKey),
                                             HttpUtility.UrlEncode(message.Replace("?", "")));
            }
            Console.WriteLine(this.request);
            LUISResponse token = HttpGet(AccessUri, this.request);

            return(token);
        }