示例#1
0
        public override void Delete()
        {
            HttpWebRequest request = requestBuilder.BuildRequest();

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new WebException(string.Format("REST POST operation return status code {0}",
                                                     response.StatusCode.ToString()));
            }
        }
示例#2
0
        public override T Get <T>()
        {
            string          contentType = requestBuilder.ContentType.ToLowerInvariant();
            HttpWebRequest  request     = requestBuilder.BuildRequest();
            HttpWebResponse response    = (HttpWebResponse)request.GetResponse();

            if (response.StatusCode != HttpStatusCode.OK)
            {
                throw new WebException(String.Format("REST GET operation return status code {0}", response.StatusCode.ToString()));
            }

            byte[] buffer    = new byte[16384];
            byte[] msg       = null;
            int    bytesRead = 0;

            using (Stream stream = response.GetResponseStream())
            {
                using (MemoryStream bufferStream = new MemoryStream())
                {
                    do
                    {
                        bytesRead = stream.Read(buffer, 0, buffer.Length);
                        if (bytesRead > 0)
                        {
                            bufferStream.Write(buffer, 0, bytesRead);
                        }
                    } while (bytesRead > 0);

                    if (bufferStream != null && bufferStream.Length > 0)
                    {
                        msg = bufferStream.ToArray();
                    }
                }
                //buffer = new byte[response.ContentLength];
                //stream.Read(buffer, 0, buffer.Length);
            }

            //return Serializer.Deserialize<T>(contentType, buffer);
            if (msg != null)
            {
                return(Serializer.Deserialize <T>(contentType, msg));
            }
            else
            {
                return(default(T));
            }
        }