---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
Web 服务基础:
Web 服务的定义
Web 服务是可以使用标准Internet 协议进行访问的可编程应用程序逻辑
基于Internet 技术
实现可以重复使用的黑匣功能
是未来分布式应用程序的发展方向ServiceOrientedArchitecture
WebService VS dll 引用
COM+ -> dll:
升级和部署成本高,发布DLL文件
DLL HELL问题
Webservice
一对多,服务器上更新一次就可以
不存在DLL HELL问题
XML Web Service的定义
XML Web Service实现了在异类系统之间以XML 消息的形式进行数据交换
远程访问数据和应用程序逻辑并丌是新的技术,但以松耦合的方式执行该操作却是一个全新的概念
在客户端和服务器之间要求接收方可以理解收到的消息,客户端和服务器共同遵守一个协定(通常在Web 服务中使用WSDL 和XSD),然后通过在指定的传输协议(例如HTTP)之上生成遵守该协定的消息来进行通信
使用文本格式(如XML)的灵活性使消息交换随时间的推移以一种松耦合的方式进化成为可能
Web 服务基础结构
WebService 与.NET Remoting区别:
WebService:所有系统都可以使用、Http协议、XML、无状态、更通用,但效率更低
Remoting:只在.NET 平台下可以用、网络传输协议、二进制、有状态,对象可以服务器端创建再给客户端使用、效率更高,但不通用
WCF-更高级技术 Windows Communication Framework
Web服务安全性-基于SoapHeader
服务器端定义
using System.Web.Services;
using System.Web.Services.Protocols;
public class AuthHeader :
SoapHeader
{public string Username;
public string Password;
}
public class AccountService : WebService
{
public AuthHeader sHeader;
[WebMethod][SoapHeader("sHeader")]
public decimal GetAcctBalance(string acctID)
{...}
}
客户端调用
23WoodgroveOnlineBank bank = new WoodgroveOnlineBank();
WoodgroveAuthInfo authInfo = new WoodgroveAuthInfo ();
authInfo.Username = "Adam"; authInfo.Password = "password";
bank.WoodgroveAuthInfoValue = authInfo;
Acct acct = bank.GetAccount(1);
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------