仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 859|回复: 10
打印 上一主题 下一主题

[学习教程] ASP.NET网页设计jQuery能做到,PHP能做到,C#也能做到仓酷云

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:16:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
语言是不是不是最重要的?标题有些年夜,但文中谈到的成绩很小;看似表彰C#,实践不是。
这个小成绩来自如许的使用场景——以HTTPPOST的体例挪用第三方API,第三方API不撑持JSON传参,只能经由过程URLquerystring体例传参(a=1&b=2)。
假定API的地点是http://www.ckuyun.com/api/say,必要传送的参数是username与words,只撑持HTTPPOST挪用。
别的,加一个束缚前提——不同意用字符串拼接,好比:"username="+username+"&words="+words;
jQuery中的挪用示例代码

  1. varpostData={username:test,words:helloworld};$.ajax({url:http://www.ckuyun.com/api/say,data:postData,type:post,});
复制代码


在下面的Javascript代码实行时,jQuery会主动将js对象postData转换为Urlquerystring的情势(username=test&words=hello+world),并主动举行Urlencode。
PHP中的挪用示例代码

  1. $url=http://www.ckuyun.com/api/say;$data=array(username=>test,words=>helloworld);$data=http_build_query($data);$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$data);$response=curl_exec($ch);curl_close($ch);
复制代码


PHP内置的http_build_query()函数能主动将数组转换为Urlquerystring的情势(username=test&words=hello+world),并主动举行Urlencode。
C#中的挪用示例代码
1、在.NETFramework4.0中的完成(HttpWebRequest+匿名范例+反射+LINQ)
参数经由过程匿名范例(AnonymousType)举行界说:
  1. varpostData=new{username="test",words="helloworld"};
复制代码
.NETFramework4.0的类库中没有供应间接将“匿名范例实例”转换为“Url查询参数”的API,只能借助“反射+LINQ”本人完成。完成代码以下:

  1. staticvoidMain(string[]args){varurl="http://www.ckuyun.com/api/say";varpostData=new{username="test",words="helloworld"};varwebRequest=WebRequest.Create(url)asHttpWebRequest;webRequest.Method="post";webRequest.ContentType="application/x-www-form-urlencoded";varqueryString=string.Join("&",frompinpostData.GetType().GetProperties()selectp.Name+"="+HttpUtility.UrlEncode(p.GetValue(postData,null).ToString()));using(varsw=newStreamWriter(webRequest.GetRequestStream())){sw.Write(queryString);}using(varresponse=webRequest.GetResponse()){using(varsr=newStreamReader(response.GetResponseStream())){Console.WriteLine(sr.ReadToEnd());}}}
复制代码


2、在.NETFramework4.5中的完成(HttpClient+FormUrlEncodedContent)
.NETFramework4.5思索到了这个使用场景,供应了FormUrlEncodedContent,但它不撑持匿名范例(AnonymousType),只撑持字典(Dictionary)。参数必要如许界说:
  1. varpostData=newDictionary<string,string>{{"username","test"},{"words","helloworld"}};
复制代码
完全完成代码以下(必要援用System.Net.Http):

  1. staticvoidMain(string[]args){varurl="http://www.ckuyun.com/api/say";varpostData=newDictionary<string,string>{{"username","test"},{"words","helloworld"}};varurlEncodedContent=newFormUrlEncodedContent(postData);varhttpClient=newHttpClient();varresult=httpClient.PostAsync(url,urlEncodedContent).Result.Content.ReadAsStringAsync().Result;Console.WriteLine(result);}
复制代码


.NETFramework4.5中的完成还算复杂,可是FormUrlEncodedContent只撑持Dictionary,思索仍是不周密。
感受
.NET因互联网而生,而经由过程URLquerystring传参的需求在互联网使用中一般存在,但.NET从4.5才入手下手思索这个使用场景,其实有点说不外往。
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)
乐观 该用户已被删除
沙发
发表于 2015-1-20 18:59:13 | 只看该作者
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
灵魂腐蚀 该用户已被删除
板凳
发表于 2015-1-29 15:02:43 | 只看该作者
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
变相怪杰 该用户已被删除
地板
发表于 2015-2-6 02:15:45 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
5#
发表于 2015-2-6 09:41:59 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
若相依 该用户已被删除
6#
 楼主| 发表于 2015-2-7 10:06:23 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
简单生活 该用户已被删除
7#
发表于 2015-2-21 16:57:45 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
愤怒的大鸟 该用户已被删除
8#
发表于 2015-2-26 14:48:16 | 只看该作者
可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-8 14:32:17 | 只看该作者
我的意思是.net好用,从功能上来说比JAVA强还是很明显的。
不帅 该用户已被删除
10#
发表于 2015-3-16 01:13:18 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
小魔女 该用户已被删除
11#
发表于 2015-3-22 18:12:48 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 05:58

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表