All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
PHP技巧:动态URL静态化_[PHP教程]
第二篇:使用Visual,Studio,2008进行数据层开发_[Asp.Net教程]
再现C#导出Excel源码_.net资料_编程技术
delphi类中方法的使用技巧和实例
PHPUnit袖珍指南之安装PHPUnit_[PHP教程]
关于php正则表达式的两点备注_php资料_编程技术
SqlServer去除表中的不可见字符_[SQL,Server教程]
C#教程:DLL动态链接库的优点
实用举例:利用PHP代码实现网页自动判断转向_php资料_编程技术
详谈基于JSON的高级AJAX开发技术_.net资料_编程技术
Reading number is top 10 pictures
The terra-cotta warriors1
10 powerless things in life
A beautiful girl to bud1
泳装名模阿尔贝特妮写真2
XuRe xuan cool and refreshing photoes2
鸡也看毛片
Azusa Yamamoto2
做运动的校花2
2012 national geographic daily picture5
Look for from human art net, is good1
Download software ranking
仙剑奇侠传98版歌曲
Tram sex maniac 2 (H) rar bag5
I for your crazy
Ashlynn Video3
The Bermuda triangle3
变速齿轮3.26
网页特效实例大全
Unix video tutorial20
Boxer's Top ten classic battle10
C#与.NET技术平台实战演练
aaa published in(发表于) 2013/12/11 8:30:11 Edit(编辑)
WebService服务和ajax使用教程_.net资料_编程技术

WebService服务和ajax使用教程_.net资料_编程技术

WebService服务和ajax使用教程_.net资料_编程技术-你的首页-uuhomepage.com

题外话


WebService技术已经有好几年的历史了,关于基础的理论知识,此处省去,不说了。最近被炒了的ajax技术也被滥用的很是严重,至于细节,不是我说的重点。


ajax技术的入门比较低,javascript和xml的一点利用,个人以为没啥含量,不能在根本上解决企业的需求或者问题,在安全性,线路传输的低级等方面都有致命的问题.


为什么要把WebService和ajax放一起,原因很简单, 两者的共同点准确的来说是经常按照同一数据协议--------XML.


本文全部源码userapp.rar


本文既不说明ajax的弱,也不说WebService的强大,只是通过一个例子说明了如何使用WebService技术和ajax技术.


我通过实例“用户登陆”展示How.
在本地建立一个虚拟目录UserApp。


先创建一个webservice:



namespace Cjjer{
using System;
using System.Web.Services;
[WebService (Name="WebsCjjer",Description="一个验证用户登陆的web服务",Namespace="http://www.cjjer.com/webs/")]
public class UserService{
[WebMethod (Description ="输入用户名和密,返回权限Int值,0表示失败",MessageName="Login")]
public int Login(string UserName,string UserPassword){
return User.Check(UserName,UserPassword);
}



};
}


我们暂时不看细节,注意这是这个class有头WebService,标记了这是一个web服务.


csc编译掉,放入bin目录,然后login.asmx文件:


<%@WebService Class="Cjjer.UserService"%>


我先不说验证的细节,我们先假设User.Check()返回的是用户级别,0表示验证失败.


现在在URL中输入地址,访问:如图


WebService服务和ajax使用教程


点击login:


WebService服务和ajax使用教程


输入正确的用户名和密码,然后点击调用:


WebService服务和ajax使用教程


如果不是正确的用户名和密码,将int节点值是0.


我们本地的调用是在SOAP操作.


还有很多方式:


SOAP(最低级的)


soap的这里不说,以后会详细说,我这里注意看的是get和post方式:


HTTP GET


面是一个 HTTP GET 请求和响应示例。所显示的占位符需要由实际值替换。


GET /userapp/login.asmx/Login?UserName=string&UserPassword=string HTTP/1.1
Host: s


return:



HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length



int


HTTP POST


下面是一个 HTTP POST 请求和响应示例。所显示的占位符需要由实际值替换。



POST /userapp/login.asmx/Login HTTP/1.1
Host: s
Content-Type: application/x-www-form-urlencoded
Content-Length: length


UserName=string&UserPassword=string


return:



HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length



int


我们可以输入url的地址,或者post的action,就可以访问和提交获取结果了.


此处可以选择的操作其实也很多,使用屏幕清理技术,还可以用xml的处理框架提交信息的结果,也可以用其他技术,不说了,反正都是貌似需要几十行或者比我下面多一些处理。


我说的是使用SDK的工具wsdl工具处理代理的web服务.


wsdl /l:cs /out:WebsCjjer.cs /namespace:Webs /urlkey:WebsUser /nologo http://s:81/userapp/login.asmx?wsdl


得到WebsCjjer.cs源文件。


注意:/urlkey:WebsUser表示是URL可以是从web.config文件的WebsUser获取,这样做是避免硬编码,看看WebsCjjer.cs


.......
public WebsCjjer() {
string urlSetting = System.Configuration.ConfigurationSettings.AppSettings["WebsUser"];
if ((urlSetting != null)) {
this.Url = urlSetting;
}
else {
this.Url = "http://s:81/userapp/login.asmx";
}
}
.......


为了能被其他的人访问,需要加入如下代码到web.config:









就是代理许可.


编译了这个类,到bin,使用的时候如下:


void OnLogin(Object s,EventArgs e){
Webs.WebsCjjer Ws_App = new Webs.WebsCjjer();
returnint.Text = Ws_App.Login(MyUserName.Text,MyPassword.Text).ToString();
}


这样,直接能返回结果,不需要我们自己正则或者xml处理,不需要知道验证的细节






添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.