HttpPostData(但目前有BUG,用不起来的代码)

2015-06-25 09:55:48  访问(1447) 赞(0) 踩(0)

<%@ WebHandler Language="C#" Class="GpsHandler" %>

using System;
using System.Web;

public class GpsHandler : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        //context.Response.ContentType = "text/plain";
        context.Response.ContentType = "text/xml";
        context.Response.Charset = "gb2312";
        context.Response.ContentEncoding
           =
           System.Text.Encoding.GetEncoding("gb2312"); // System.Text.Encoding.UTF8;

        context.Response.Write("Hello World");
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}


/// <summary>
        /// 
        /// </summary>
        /// <param name="jsonV"></param>
        /// <returns></returns>
        protected string HttpPostData(string jsonV)
        {

            byte[] buffer;
            HttpWebRequest request = null;
            Stream stream = null;
            WebResponse response = null;
            StreamReader reader = null;

            string theResult = null;

            System.Text.Encoding en 
                =
                System.Text.Encoding.GetEncoding("gb2312");

            try
            {
                buffer = en.GetBytes(jsonV);
                request = (HttpWebRequest)WebRequest.Create("http://localhost:4095/Web/Handlers/GpsHandler.ashx");
                request.Method = "post";
                request.ContentType = "text/xml";
                
                request.ContentLength = (long)((int)buffer.Length);
                request.Proxy = null;
                stream = request.GetRequestStream();
                stream.Write(buffer, 0, (int)buffer.Length);
                stream.Close();
                stream.Dispose();
                stream = null;

                response = (HttpWebResponse)request.GetResponse();
                reader = new StreamReader
                    (
                        response.GetResponseStream(), 
                        en
                    );

                theResult = "+" + reader.ReadToEnd();
            }
            catch (Exception err)
            {
                theResult = "*" + err.Message;
            }
            finally
            {
                if (stream != null)
                {
                    stream.Close();
                    stream.Dispose();
                    stream = null;
                }

                if (reader != null)
                {
                    reader.Close();
                    reader.Dispose();
                    reader = null;
                }
                if (response != null)
                {
                    response.Close();
                    response = null;
                }

                if (request != null)
                {
                    request = null;
                }
            }

            return theResult;
        }


标签:HttpPostData(但目前有BUG,用不起来的代码) 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)