[WebMethod]
上面的方法名称告诉我们,GetEmpDetailsByEmpID把employeeID作为参数并返回XmlDocument形式的雇员周详信息。
publicXmlDocumentGetEmpDetailsByEmpID(intemployeeID) { stringconnString=System.Configuration.ConfigurationSettings. AppSettings["connectionString"]; |
上面的代码行使用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>
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



