首页  韩国资源  酷站加油  我的展厅  设计名站  古典元素  推荐下载  设计欣赏  每周专访  招募精英  人才专区  网页教程  平面设计  编程开发  设计竞赛
当前位置:首页 > 编程开发 > ASP.net教程 > Asp.Net基础教程 > 正文
C#提交数据到服务器并返回的处理
来源:68design.net 2007年09月18日 09:36 网友评论:0条 点击:

1:利用System.Net.WebRequest的Create方法创建WebRequest对象:

System.Net.WebRequest ObjWebRequest =System.Net.WebRequest.Create(urlP);

异常类型:
NotSupportedException :requestUri 中指定的请求方案未注册。
ArgumentNullException :requestUri 为空引用(Visual Basic 中为 Nothing)。
SecurityException 调用方没有连接到请求的 URI 或请求重定向到的 URI 上的权限。

  2:对请求进行预先身份验证,如果无明确的要求,此项可以空.

ObjWebRequest.Credentials = CredentialCache.DefaultCredentials;

如果需要按照特别的验证协议,需要强制转换成HttpWebRequest类型:

 ((HttpWebRequest)ObjWebRequest).UserAgent = "5DO8";

 3:指明协议的类型:

ObjWebRequest.Method = "POST";


  可以是POST方式和Get方式.

  4:发送传输的数据长度(如果无显示传送,亦可发送),如果设置了此项,发送的数据必须恰好满足此值.


ObjWebRequest.ContentLength = Stringdata.ToCharArray().Length;

  5:设置传入请求的 MIME 内容类型:

ObjWebRequest.ContentType="application/x-www-form-urlencoded";//Post
ObjWebRequest.ContentType="text/xml";//SOAP

  6:使用GetRequestStream()方法获取发送的流的句柄:

System.IO.Stream dataStream = ObjWebRequest.GetRequestStream();

  7:发送数据:

dataStream.Write (byteArray, 0, byteArray.Length);

  注:byteArray是一个Byte数组,它的获取可以是:

byte[] byteArray = UTF8Encoding.GetBytes(dataP);

  8:关闭Request流.

dataStream.Close ();

 这是必须的,知道Close,服务器不会响应输出,还可以选择调用System.IO.Stream.Close()关闭流.

  9:利用GetResponse()获取Response对象.

WebResponse Objresponse = ObjWebRequest.GetResponse();

  9*:你可以获取返回给客户端的 HTTP 输出状态的字符串,默认是公共状态消息"OK"

//Console.WriteLine (((HttpWebResponse)Objresponse).StatusDescription);
if ( ((HttpWebResponse)Objresponse).StatusDescription != "OK"){
//..结束这一切
}

  10:获取响应流的句柄:

Stream data = Objresponse.GetResponseStream


  11:保存数据或者直接读出,例如直接输出到浏览器.


dataStream = ObjResponse.GetResponseStream ();

StreamReader r = new StreamReader(dataStream);
Response.Write(HttpUtility.HtmlEncode(r.ReadToEnd()));


 或者使用StreamWriter对象保存:


Stream outStream =System.IO.File.Create( "Temp.data" );
byte []buffer = new byte[1024];
int l;
do{
l = dataStream.Read(buffer,0,buffer.Length);
if(l>0) outStream.Write(buffer,0,l);
} while(l>0);

outStream.Close();


此方式可以保存二进制数据.

上一篇:Spring集成XFire开发WebService   下一篇:认识和使用 RSS+asp.net
收藏此页】【打印】【关闭
 相关文章  我要点评
·PHP服务器变量设置的方法
·3d统计数据曲线图图标
·优化Oracle DBA数据库性能体会分享
·Oracle数据库查询十个小技巧
·谷歌搜索服务器捐赠中国200高校
·ORACLE数据库的统一命名与编码规范
·华启数据欠债跑路拖累上千家中小网站
·Oracle 10g学习之数据库恢复

免责声明:本站刊载此文不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。对本文有任何异议,请联络:68design#163.com
转载要求:作者及来源信息必需保留。转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印。



关于我们 | 在线反馈 | 广告报价 | 友情链接 | 联系我们 | 免责声明 | 在线投稿 | 网站地图
Copyright © 2003-2007 68design.net, All Rights Reserve 【找网页设计师,当然上网页设计师联盟】