Ejemplo n.º 1
0
        static public void AsynPost(string url, byte[] data, ResponseCallback callback, object state, CookieCollection cookie)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            if (cookie != null)
            {
                request.CookieContainer = new CookieContainer();
                request.CookieContainer.Add(cookie);
            }
            request.AllowAutoRedirect = true;
            request.Method            = "POST";
            request.ContentType       = "application/x-www-form-urlencoded";
            request.ContentLength     = data.Length;

            AsynResp resp = new AsynResp
            {
                Request  = request,
                Callback = callback,
                Response = new ResponseObject
                {
                    State = state
                }
            };
            AsynRequestStream ars = new AsynRequestStream
            {
                Data = data,
                Resp = resp
            };

            request.BeginGetRequestStream(new AsyncCallback(RequestStreamCallback), ars);
        }
Ejemplo n.º 2
0
        private static void RequestStreamCallback(IAsyncResult ir)
        {
            AsynRequestStream rs = (AsynRequestStream)ir.AsyncState;

            try
            {
                Stream requestStream = rs.Resp.Request.EndGetRequestStream(ir);
                requestStream.Write(rs.Data, 0, rs.Data.Length);
                requestStream.Close();
                rs.Data = null;
                rs.Resp.Request.BeginGetResponse(RespCallback, rs.Resp);
            }
            catch (Exception)
            {
                DoUserCallback(rs.Resp);
            }
        }
Ejemplo n.º 3
0
        private static void RequestStreamCallback(IAsyncResult ir)
        {
            AsynRequestStream rs = (AsynRequestStream)ir.AsyncState;

            try
            {
                Stream requestStream = rs.Resp.Request.EndGetRequestStream(ir);
                requestStream.Write(rs.Data, 0, rs.Data.Length);
                requestStream.Close();
                rs.Data = null;
                rs.Resp.Request.BeginGetResponse(new AsyncCallback(RespCallback), rs.Resp);
            }
            catch (Exception e)
            {
                // LogHelper.WriteLog(typeof(HttpWebAsk), LogStatusLevel.ERROR, e.Message);
                DoUserCallback(rs.Resp);
            }
        }