手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

ASP.NET Web服务实现软件共享

来源:互联网 作者:west263.com 时间:2008-02-22
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

//省略代码……
[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;
}
}

  需要注意的是:只有用[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 Services技术来实现远程软件功能共享,并且通过学生身体验证模块来实例分析软件功能共享的有效性及其优点。软件功能共享的研究对实现分布式计算等都具有重大的意义,它还需要进一步的研究。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!