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 ...
随机推荐
- OpenGL———混合的基本知识
混合是一种常用的技巧,通常可以用来实现半透明.但其实它也是十分灵活的,你可以通过不同的设置得到不同的混合结果,产生一些有趣或者奇怪的图象.混合是什么呢?混合就是把两种颜色混在一起.具体一点,就是把某一 ...
- POJ 1067 取石子游戏 威佐夫博弈
威佐夫博弈(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜. 我们用(ak,bk)(ak ≤ bk ,k= ...
- Swift --> Map & FlatMap
转载自:https://segmentfault.com/a/1190000004050907 Map map函数能够被数组调用,它接受一个闭包作为参数,作用于数组中的每个元素.闭包返回一个变换后的元 ...
- HDU1874 最短路 SPFA
最短路 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 24 Solved: 17 [Submit][Status][Web Board] Descr ...
- android 5.0
google 2014开发大会发布了全新的设计语言Material Design,并计划将其应用到Android.Chrome OS和网页等平台上,而最新发布的Android L系统就采用了这种设计语 ...
- L1,a private conversation
words enjoy喜欢,享受,欣赏 pay,支付,pay money for sth 报酬,I have not received my pay yet. bear,忍受,支撑,承担,负担 I c ...
- hdu_3886_Final Kichiku “Lanlanshu”(数位DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3886 题意:这题的题意有点晦涩难懂,大概意思就是给你一个区间,让你找一些满足递增递减条件的数,举个列: ...
- jq的遍历节点
1.child()方法 该方法用于取得匹配元素的子元素集合 2.next() 该方法用于取得匹配元素后面紧邻的同辈元素, 3.prev() 该方法用于取得匹配元素前面紧邻的同辈元素 4.sibling ...
- Servlet 后台获取XML
D package net.nw.servlet; import java.io.IOException; import java.io.PrintWriter; import javassist.e ...
- 线程pthread_create()、pthread_exit()、pthread_join()、pthread_cancel()