ASP.NET+Web服务实现软件共享(2)
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
Tag: 共享
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。