当前位置: 首页 > 图文教程 > 服务器 > Web服务器 > 用IE的Web服务建立ASP.NET应用程序(二)

Web服务器
如何保障IIS安全避免服务器遭到攻击(图)
利用PHP程序设定防止MySQL注入或HTML表单滥用
保障远程桌面Web连接安全四项注意
Web服务器启用并运行FTP服务
保障远程桌面Web连接安全四注意
方法:Web专用网站服务器的安全设置
应用技巧:保障WEB服务器安全的三大利器
WEB专用服务器的安全设置的实战技巧
监控网站服务器可能的宕机
用FTP实现远程重启服务器
FreeBSD平台下架设安全高效的Web服务器
实现四台Web服务器的负载均衡
Windows2003 中怎样配置NAT服务器?
新手如何远程管理windows2003服务器
IIS安全架设WEB服务器的安全设置
SQL Server索引管理之六大铁律
浅析WEB服务器和应用服务器之间的区别
对常见的WEB服务器和应用服务器的介绍
在Win 2003环境中设置一个Web服务器
授予对Web内容的Web服务器权限

Web服务器 中的 用IE的Web服务建立ASP.NET应用程序(二)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 70 ::
收藏到网摘: n/a

[WebMethod]

上面的方法名称告诉我们,GetEmpDetailsByEmpID把employeeID作为参数并返回XmlDocument形式的雇员详细信息。

上面的代码行使用ConfigurationSettings类的AppSettings属性从web.config文件的<appsettings>部分检索连接字符串。在web.config文件中连接字符串是这样定义的:

以下为引用的内容:
  <appSettings>
  <addkey="connectionString"
  value="server=localhost;uid=sa;pwd=;database=Northwind"/>
  </appSettings>

下面一行代码建立了SqlConnection对象的一个实例,给它传递了用于建立数据库连接的连接字符串:

SqlConnectionsqlConnection=newSqlConnection(connString);

接着你把所有的可执行代码封装在一个try...catch代码块中以处理执行后面的语句时可能发生的任何错误:

以下为引用的内容:
  try
  {
  DataSetemployeeDataset=newDataSet("EmployeesRoot");
  SqlDataAdapteradapter=newSqlDataAdapter();

下一步,你建立了SqlCommand对象的一个实例,给它的构造函数传递你希望执行的SQL语句和前面步骤中建立的SqlConnection对象:

SqlCommandcommand=newSqlCommand("Select*fromEmployeesWhereEmployeeID="+employeeID.ToString(),sqlConnection);

接着你把SelectCommand属性设置为适当的值,表明你希望执行一个SQL语句:

//设置SqlCommand对象的属性

command.CommandType=CommandType.Text;

接着把SqlDataAdapter对象的SelectCommand属性设置为前面建立的SqlCommand对象:

adapter.SelectCommand=command;

现在使用Fill方法,通过在数据源上执行前面指定的SQL语句从数据源检索数据:

//用存储过程返回的值填充数据集

adapter.Fill(employeeDataset,"Employees");

一旦雇员信息成为数据集形式的,你就可以检索它的内容,并把它作为参数传递到XmlDocument对象的LoadXml方法中。最后,把该XmlDocument对象返回到该Web服务的调用者:

以下为引用的内容:
  XmlDocumentxmlDoc=newXmlDocument();
  xmlDoc.LoadXml(employeeDataset.GetXml());
  returnxmlDoc;
  }
  catch(Exceptionex)
  {
  throwex;
  }

在最后的代码块中,你检查了State属性以验证Connection(连接)是否仍然是打开的。如果连接仍然是打开的,你就通过调用该连接对象的Close方法关闭它:

以下为引用的内容:
  finally
  {
  if(sqlConnection.State==ConnectionState.Open)
  {
  sqlConnection.Close();
  }
  }
  }

现在你已经建立了Web服务了,可以用鼠标右键点击EmployeeService.asmx文件并选择Build(建立)和Browse(浏览)来测试它的功能。你得到的屏幕应该与下面的类似:

点击上面的屏幕中的方法名称(GetEmpDetailsByEmpID)将显示下面的屏幕:

如果你输入雇员id并点击Invoke(调用)来调用该Web服务方法,你将得到下面的输出:

现在你已经测试了该Web服务了,你应该使用Web服务行为从ASP.NET页面中调用它来试验它的功能了。

在ASP.NET页面中如何使用Web服务行为调用Web服务

在Web页面中使用Web服务行为的第一步是使用类似下面的语法把它嵌入页面代码:

<divid="service"style="BEHAVIOR:url(webservice.htc)"></div>

上面的代码依赖IE5(及以上版本)内建的行为功能来验证JavaScript文件的位置,而该文件被用于调用Web服务。前面谈到,webservice.htc文件的位置必须与Web页面的文件夹相同。我们要重点注意,行为文件的载入发生在客户端而不是服务器上。