ASP.NET开发Web服务的三则技巧

来源:互联网 发布:淘宝装修日记 编辑:程序博客网 时间:2024/05/11 16:20
在众多有关n-层应用设计的论述中,简化接口设

计这一设计要诀可以说是随处可见。但是,对于Web服

务这样的分布式计算环境,简化接口设计的重要性更加

突出。    在设计分布式应用时,出于性能和可伸缩性的考

虑,应当保证客户端和服务器端之间的调用尽可能地少

。减少网络调用不仅有利于减少通信开销(如果只用一

个SOAP消息可以达到目标,就绝对不要发三个消息),

降低网络流量,而且提高了应用的性能。显然,这一切

都是开发者梦寐以求的目标。那么简化的接口到底有何

特征呢?    首先来看一个复杂接口的例子:  namespace ChattyService {  public class ChattyService : WebService {  private string username;  private string password;   public string Username {  [WebMethod]  set {  username = Username;  } }   public string Password {  [WebMethod]  set {  password = Password;  } }   [WebMethod]  public bool Logon() {  // 验证身份  return true;  }  } }      在这个例子中,username和password是两个属性

,调用logon()方法之前首先必须设置这两个属性。有

一个问题光看这段代码不太容易注意到,这就是userna

me和password都作为Web方法引出。这就是说,每次对

属性的get/set操作都会导致一个对服务的调用。    按照简化接口设计的要求,改进后的代码如下:  namespace ChattyService {  public class ChattyService : WebService {  [WebMethod]  public bool Logon(string Username, string

Password) {  // 验证身份  return true;  }  } }      现在,username和password成了logon()方法的

参数。修改之后的代码的优点在于,它把登录操作对服

务器的三次调用降低到了一次。另一方面,如果参数的

个数太多,这个方法可能看起来很不像样。这时,可能

要把方法的参数整理成几个复杂类型,例如,把userna

me和password两个参数封装到一个credential(证书)

对象里面。    二、在Web.Config中保存应用私有的数据    用ASP.NET开发的Web服务能够发挥出.aspx应用

的所有特长,包括用web.config文件保存应用私有数据

的能力(例如,数据库连接字符串、文件路径等)。用

Web.config而不是global.asax文件的好处在于修改配

置之后不必重新构造应用。    三、避免使用ASP.NET会话状态  

  .NET实现的会话状态管理功能解决了它的前辈ASP

3.0存在的许多问题,例如请求串行化等,但仍存在一

些局限。应当认识到,.NET的会话状态管理功能不是专

门为Web服务环境中的会话状态而设计,而是为了在范

围更广泛的ASP.NET应用中管理会话状态而设计,它依

赖于HTTP

Cookie(有一种通过改写URL实现的不需要Cookie的模

式,但不适用于Web服务)。    Cookie是HTTP独有的。在Web上,所有的浏览器

都支持HTTP,所以Cookie非常适合在Web应用中使用。

但是,在Web服务中应用Cookie却把服务限定到了HTTP

协议上。另一方面,SOAP协议的运行是独立于传输协议

的,因此如果把Web服务应用限制到HTTP协议上,应用

的灵活性也受到了限制,一旦要通过非HTTP的传输协议

(例如SMTP)提供服务,事情会变得很麻烦。

 

使用详解和例程:

http://www.now.net.cn/support/host/(这里有更多更

细的Asp.net的详细例程)

●●全球免费咨询电话:http://www.now.net.cn/custo

mer/moreline.net(很方便的)

Asp.net+SQLServer2000这款时代互联的空间在使用的

速度和稳定上我都是非常满意的!

时代互联的Asp.net空间购买方法:http://www.now.ne

t.cn/hostAsp.net虚拟主机的服务提供商中,目前首推

的是CNNIC的其中一家权威机构---时代互联(http://ww

w.now.net.cn),他们在2003年便更新使用微软发布最新版本的ASP.net

Web Matrix了.经笔者的使用测试,他提供的ASP.NET空

间性能非常的稳定,版本也会定期的更新升级!

喜欢asp.net和需要建网站的朋友,可以去网站看看,相

信会在asp.net的使用方面会有更深的认识。 

 

 

原创粉丝点击