zoukankan      html  css  js  c++  java
  • silverlight向服务器post数据类

    using System;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.IO;


    public class HttpClient
    {
        
    private WebRequest webRequest = null;
        
    public delegate void ResponseEventHandler(String responseResult);
        
    public event ResponseEventHandler onResponseEventHandler;
        
    public delegate void RequestEventHandler();
        
    public event RequestEventHandler onRequestEventHandler;
        
    public string PostData { getset; }

        
    public HttpClient(Uri clientUri)
        {
            Uri endpoint 
    = clientUri;
            webRequest 
    = WebRequest.Create(endpoint);
            webRequest.ContentType 
    = "application/x-www-form-urlencoded";
            webRequest.Method 
    = "POST";
        }

        
    public void Post()
        {
            webRequest.BeginGetRequestStream(
    new AsyncCallback(RequestReady), webRequest);
        }
        
    private void RequestReady(IAsyncResult asyncResult)
        {
            
    if (this.onRequestEventHandler != null)
            {
                
    this.onRequestEventHandler();
            }
            WebRequest request 
    = asyncResult.AsyncState as WebRequest;
            Stream requestStream 
    = request.EndGetRequestStream(asyncResult);

            
    using (StreamWriter writer = new StreamWriter(requestStream))
            {
                writer.Write(
    this.PostData);
                writer.Flush();
                writer.Close();
            }
            webRequest.BeginGetResponse(
    new AsyncCallback(ResponseReady), webRequest);
        }
        
    private void ResponseReady(IAsyncResult asyncResult)
        {
            
    if (this.onResponseEventHandler != null)
            {
                WebRequest request 
    = asyncResult.AsyncState as WebRequest;
                WebResponse response 
    = request.EndGetResponse(asyncResult);

                
    using (Stream responseStream = response.GetResponseStream())
                {
                    String responseResult 
    = String.Empty;
                    
    try
                    {
                        StreamReader reader 
    = new StreamReader(responseStream);
                        responseResult 
    = reader.ReadToEnd();
                    }
                    
    catch (WebException er)
                    {
                        responseResult 
    = er.Message;
                    }
                    
    catch (Exception er)
                    {
                        responseResult 
    = er.Message;
                    }
                    
    this.onResponseEventHandler(responseResult);
                }
            }
        }
    }

    作者:nasa
    出处:nasa.cnblogs.com
    联系:nasa_wz@hotmail.com
    QQ:12446006
  • 相关阅读:
    神经网络训练收敛的解决办法
    minSdkVersion
    onlyoffice使用
    linux系统磁盘不足处理方法
    编辑docker容器中的文件
    如何使用Java获取上传图片需要旋转的角度且获取正确方向的图片
    Java数据类型转换
    bat脚本实现jdk安装、环境变量添加及jar包运行
    java实现文件上传接口及java调用文件上传接口
    flutter常用问题查询
  • 原文地址:https://www.cnblogs.com/nasa/p/1264757.html
Copyright © 2011-2022 走看看