科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用IE的Web服务建立ASP.NET应用程序

用IE的Web服务建立ASP.NET应用程序

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在建立商业网站的时候,开发者遇到的一种限制是只能把浏览器作为用户界面

作者:陶刚编译 来源:天极网 2007年11月7日

关键字: Windows

  • 评论
  • 分享微博
  • 分享邮件
[WebMethod]

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

public XmlDocument GetEmpDetailsByEmpID(int employeeID)
{
string connString = System.Configuration.ConfigurationSettings.
AppSettings["connectionString"];

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

<appSettings>
<add key="connectionString"
value="server=localhost;uid=sa;pwd=;database=Northwind" />
</appSettings>

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

SqlConnection sqlConnection = new SqlConnection(connString);

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

try
{
DataSet employeeDataset = new DataSet("EmployeesRoot");
SqlDataAdapter adapter = new SqlDataAdapter();

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

SqlCommand command = new SqlCommand("Select * from Employees Where EmployeeID =" + 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服务的调用者:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(employeeDataset.GetXml());
return xmlDoc;
}
catch (Exception ex)
{
 throw ex;
}

  在最后的代码块中,你检查了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服务行为的第一步是使用类似下面的语法把它嵌入页面代码:

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

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

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章