WebRequest调用
WebRequest支持不同的浏览器对象,可以在底层使用不同的XMLHttpRquest方式调用Web服务。
Time.aspx
<%@ Page Language="C#" %> <script runat="server">
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
Response.Write(DateTime.Now.ToUniversalTime());
}
</script>
CallTimeWebRequest.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CallTimeWebRequest.aspx.cs" Inherits="Chap9Project.CallTimeWebRequest" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function pageLoad() {
var webRequest = new Sys.Net.WebRequest();
webRequest.set_url("Time.aspx"); webRequest.add_completed(completedHandler);
webRequest.invoke();
} function completedHandler(result, eventArgs) {
if (result.get_responseAvailable()) {
alert(result.get_statusText());
alert(result.get_responseData());
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</div>
</form>
</body>
</html>
WebRequest默认请求方式是GET,可以使用POST上传数据。
EchoABC.aspx
<%@ Page Language="C#" %> <script runat="server">
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
if (Request.Form["abc"] != null)
{
Response.Write(Server.HtmlEncode(Request.Form["abc"]));
}
}
</script>
SetVerb.aspx
<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> </script> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>NetWorking</title>
<script type="text/javascript">
function pageLoad() {
var webRequest = new Sys.Net.WebRequest();
webRequest.set_url("EchoABC.aspx");
webRequest.set_httpVerb("POST");
webRequest.set_body("abc=123");
webRequest.add_completed(completedHandler);
webRequest.invoke();
} function completedHandler(result, eventArgs) {
if (result.get_responseAvailable()) {
alert(result.get_statusText());
alert(result.get_responseData());
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
</div>
</form>
</body>
</html>
WebRequest对象还可以设置超时限制。
TimeOut.aspx
... function pageLoad(){
...
webRequest.set_timeout(5000);
} function completedHandler(result, eventArgs){
if(result.get_timeOut()){
...
}
if(result.get_responseAvailable()) {
...
}
}
WebRequset传递额外数据
UserContent.aspx
... function pageLoad(){
...
webRequest.set_userContext('send this data to the callback');
} function completedHandler(result, eventArgs){
if(result.get_responseAvailable()) {
var userContext = result.get_webRequest().get_userContext();
}
}
WebRequest获取即将发出的请求的完整的URL
WebRequest.getResolvedUrl()
WebRequest调用的更多相关文章
- WebApi的调用-2.后台调用
httpClient调用方式 namespace SOA.Common { //httpClient调用WebApi public class HttpClientHelper { public st ...
- System.Net.WebRequest.cs
ylbtech-System.Net.WebRequest.cs 发出对统一资源标识符(URI)的请求.这是一个 abstract 类. 1.返回顶部 1. #region 程序集 System, V ...
- Spring MVC源码(三) ----- @RequestBody和@ResponseBody原理解析
概述 在SpringMVC的使用时,往往会用到@RequestBody和@ResponseBody两个注解,尤其是处理ajax请求必然要使用@ResponseBody注解.这两个注解对应着Contro ...
- 黑马毕向东Java基础知识总结
Java基础知识总结(超级经典) 转自:百度文库 黑马毕向东JAVA基础总结笔记 侵删! 写代码: 1,明确需求.我要做什么? 2,分析思路.我要怎么做?1,2,3. 3,确定步骤.每一个思路部 ...
- 《果壳中的C# C# 5.0 权威指南》 - 学习笔记
<果壳中的C# C# 5.0 权威指南> ========== ========== ==========[作者] (美) Joseph Albahari (美) Ben Albahari ...
- 接口调用,输出结果为Json格式(ConvertTo-Json),提交参数给URL(WebRequest)
1.直接输出为json格式: Get-Process -Id $pid | ConvertTo-Json | clip.exe 2.自定义结果为json格式: $serverinfoj = @&quo ...
- 详解C#泛型(二) 获取C#中方法的执行时间及其代码注入 详解C#泛型(一) 详解C#委托和事件(二) 详解C#特性和反射(四) 记一次.net core调用SOAP接口遇到的问题 C# WebRequest.Create 锚点“#”字符问题 根据内容来产生一个二维码
详解C#泛型(二) 一.自定义泛型方法(Generic Method),将类型参数用作参数列表或返回值的类型: void MyFunc<T>() //声明具有一个类型参数的泛型方法 { ...
- 【C#】 通过http webRequest方式调用webservice
上一篇文章写了关于webservice的调用部署等内容,在上一篇文章中,我们通过微软给的方式--添加[WebReference服务引用]来进行调用如下图 那今天,我们说的是通过webrequest的方 ...
- C# WebRequest简单调用WebService方法
//get string res = GetStringByUrl("http://你的地址/WebService.asmx/方法名?参数=1"); //post string r ...
随机推荐
- JS-如何把字符串转换成数组
var a = "1,22,33,44"; // 字符串 var b = a.split(","); // 将字符串按照","分割,存入数组 ...
- Android OpenGL ES(一)OpenGL ES介绍
在学习Android OpenGL ES开发之前,你必须具备Java 语言开发经验和一些Android开发的基本知识,但并不需要有图形开发的经验,本教程也会涉及到一些基本的线性几何知识,如矢量,矩阵运 ...
- Codeforces 704A Thor 队列模拟
题目大意:托尔有一部手机可执行三种操作 1.x APP产生一个新消息 2.读取x App已产生的所有消息 3.读取前t个产生的消息 问每次操作后未读取的消息的数量 题目思路: 队列模拟,坑点在于竟然卡 ...
- OVS - commands
journalctl -t ovs-vswitchd ovs-vsctl show ovs-ofctl show br0 set vlanid ovs-vsctl set port eth0 tag= ...
- hadoop yarn 易理解
Hadoop 和 MRv1 简单介绍 Hadoop 集群可从单一节点(其中所有 Hadoop 实体都在同一个节点上运行)扩展到数千个节点(其中的功能分散在各个节点之间,以增加并行处理活动).图 1 演 ...
- hadoop工作流引擎之azkaban
Azkaban是twitter出的一个任务调度系统,操作比Oozie要简单很多而且非常直观,提供的功能比较简单.Azkaban以Flow为执行单元进行定时调度,Flow就是预定义好的由一个或多个可存在 ...
- 删除MySQL二进制日志
服务器上的120G SSD硬盘空间用了92%,检查后发现,原来是 MySQL的二进制日志没有及时清除,占用了大量的空间, 于是直接用命令:reset master 一把删干净了. 1 reset ma ...
- css伪类 伪元素
之前写了一篇 <详解 CSS 属性 - :before && :after> 的博文,当时自己没分清楚伪元素和伪类,所以在文章内把概念混淆了,庆幸 @riophae 兄指正 ...
- 利用transform制作幻灯片
html代码 <html><head></head><body><div class='hpic'> <ul style=" ...
- Linux 挂载aliyun数据盘
适用系统:Linux(Redhat , CentOS,Debian,Ubuntu) * Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作. 下面的操作将会把数据盘划 ...