Silverlight 2.0 正式版跨域提交数据全攻略
2008-10-27 11:49:10 来源:WEB开发网【注】本文代码基于 Silverlight 2.0 正式版。
Silverlight 2.0 正式版发布之后,在 HttpWebrequest 方面也发生了一些变化,以前的代码正式版里面可能就无法运行了,具体的
变化主要有:
1,在调用 HttpWebRequest.BeginGetResponse() 之前,Request 流必须关闭;
2,HttpWebRequest.EndGetResponse() 抛出的异常,正式版之前,HttpWebRequest.BeingGetResponse() 中跨域、跨协议访问抛出安全性异常,其他的请求都返回404错误,现在,HttpRequest.EndGetResponse()的错误将作为异常抛出,涉及安全问题的错误抛出 SecurityException,非成功的请求会抛出 WebException 异常,WebException.Response 被设置成 HttpStatusCode.NotFound。
由于 HttpWebrequest 发送的是异步请求,如果要与界面交互,还涉及到线程同步的问题,如果不进行线程同步,会报告“跨线程访问无效”的错误。下面就以实际的例子来向一个 Java Servlet 地址提交数据,将提交的数据返回到当前界面中。当然,提交到 aspx 页面上也没有问题的,只需要在 Page_Load 事件处理方法里加入下面的代码即可:
查看复制到剪切板打印
protected void Page_Load(object sender, EventArgs e)
{
if (Request.RequestType.Equals("POST"))
{
Response.ClearContent();
Response.ClearHeaders();
Response.Write("您提交的数据是:" + Request.Params.Get("data"));
Response.End();
return;
}
}
如果提交到 Java Servlet,则测试代码可以写:
查看复制到剪切板打印
Tags:Silverlight 提交
编辑录入:爽爽 [复制链接] [打 印]- ››silverlight全屏显示图片
- ››Silverlight MVVM 模式(一) 切近实战
- ››Silverlight for Windows Phone 7开发系列(1):...
- ››Silverlight for Windows Phone 7开发系列(2):...
- ››Silverlight for Windows Phone 7开发系列(3):...
- ››Silverlight for Windows Phone 7开发系列(4):...
- ››Silverlight for Symbian
- ››Silverlight3系列(四)数据绑定 Data Binding 1
- ››silverlight2 游戏 1 你能坚持多少秒
- ››Silverlight开发实践--PicZoomShow
- ››Silverlight自定义控件开发 - 令人懊恼的OnApplyT...
- ››Silverlight 2 RTW中ToolTipService.ToolTip不继承...
更多精彩
赞助商链接