ASP.NET+Web服务实现软件共享(2)

分类: asp.net技巧   出处:iocblog整理  更新时间:2009-12-20   添加到收藏  

  
  using system.data.sqlclient;
  //省略代码……
  public class service1 : system.web.services.webservice
  {
  string constr="";
  connstr="database=studentsinfo;server=10.1.111.19;uid=sa;pwd=;";
  //省略代码……
  [webmethod]
  public boolean validuser(string userid,string pwd)
  {
  boolean flag=false;
  string sqlstr="";
  //建立一个数据库连接对象
  sqlconnection tempconn=new sqlconnection(connstr);
  sqlstr="select * from student where id='"+userid+"' and pwd='"+pwd+"';";
  //建立一个命令对象
  sqlcommand tempcomm=new sqlcommand(sqlstr,tempconn);
  tempconn.open();
  sqldatareader tempreader=tempcomm.executereader(commandbehavior.closeconnection);
  if (tempreader.hasrows) flag=true;
  tempreader.close();
  tempcomm.dispose();
  return flag;
  }[来源www.iocblog.net]
  }
  
  需要注意的是:只有用[webmethod]说明的方法才是可以被远程调用的web服务。因此方法前面的[webmethod]不能省略。
  
  要使web服务可由他人使用,必须将其部署到您希望支持的客户端可访问的web服务器。若要将web服务部署到开发服务器以外的服务器,可以添加 web安装项目或者将所需的文件复制到目标服务器。为篇幅所限,本文不对此展开深入讨论,假设本例的web服务部署在开发服务器上。
  
  创建了并部署了web服务之后,我们就可以在客户端调用相应的web服务。下面介绍如何在客户端定位、引用web服务功能。
  
  2)web服务的调用
  
  使用web服务的过程实际上是实现web服务的使用者与web服务实现绑定,并调用其方法的过程。为了简化绑定的过程。visual studio.net提供了服务代理类的方法。服务代理类是根据web服务的描述文档(xxx.wsdl)产生本地类,在执行的过程中,客户使用代理类中的信息访问web服务,实现实际的方法的调用。visual studio.net提供了我们实现这一过程的简单方式:
  
  a 创建web服务访问客户程序。
  
  web服务访问客户程序可是各种类型的应用程序,也可以是其它web服务。在这里,我们新建一个"asp.net web应用程序"类型的项目webapplication2。
  
  b、服务引用。
  
  首先,在"项目"菜单上单击"添加 web 引用"。接下来,因为本例中的web服务位于本地计算机上,我们单击浏览器窗格中的"本地计算机上的 web 服务"链接。然后,从所提供的列表中单击service1链接以检索有关该 web服务的信息。然后,单击"添加引用"为目标web服务添加web引用。visual studio.net将下载服务说明并生成一个作为应用程序和web服务之间的接口的代理类。
  
  c、在客户程序中调用web服务的具体代码举例。
  
  private void button1_click(object sender, system.eventargs e)
  { //创建代理类对象
  localhost.service1 clientproxy=new localhost.service1();
  try
  {//通过代码类对象访问web服务
  if (clientproxy.validuser(txtuserid.text,txtpwd.text))
  label1.text="ok" ;
  else
  label1.text="error" ;
  }
  catch(e)
  {throw e;}
  finally
  {clientproxy.dispose();}
  }
  
  其它
  
  web services技术为软件共享的实现,为在现有信息系统基础上实现系统集成提供了很好的技术基础。但是,要使基于web service技术实现软件共享具有真正的实用性。我们还要需要解决好以下一些问题:首先是安全可靠性,一是web服务网络传输的连接可靠性,二是web服务内容的可靠性,即确保数据完整性和保密性。其次是服务使用权限的控制,web服务是"软件作为一种服务"的体现,什么人被禁止使用此服务,什么人被允许使用此服务,使用此服务如何收费等,都是实际使用需要解决的问题。另外,web服务的承载能力、web服务的部署与发现、客户调用web服务失效处理等问题也是需要解决好的问题。
  
  小结
  
  本文提出了从软件功能共享的角度来实现软件共享,讨论了利用web serv

上一页 [1] [2]


Tag: 共享



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。