【考点】
创建Web Service的基本代码。
【解答】
在VS 2008中添加新的WEB服务代码模板到WebSvRm项目,并命名为MyWebSv.asmx。这个代码文件实际已经具备了Web Service的基本代码结构,这里编写一个能将小写字母转换为大写字母的Web Service应用。首先编写MyWebSv.asmx.cs如代码13.1所示。
代码13.1 转换大写字母的Web Service:MyWebSv.asmx.cs
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Xml.Linq;
namespace WebSvRm
{
//默认命名空间的指定
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class MyWebSv : System.Web.Services.WebService
{
//声明WebMethod特性,该方法才可以被访问
[WebMethod]
public string ConvertWord(string word)
{
return word.ToUpperInvariant();
}
}
}
然后在WebSvRm项目中添加WEB引用,地址为“http://localhost/MyWebSv.asmx”,这时项目目录下将生成Web References目录,这个目录包含有localhost子目录。然后在WebSvRm项目的默认首页,即Default.aspx中调用Web Service以输出结果,首先编写Default.aspx如代码13.2所示。
代码13.2 调用Web Service的页面:Default.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebSvRm._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>调用Web Service</title>
</head>
<body>
<form id="form1" runat="server">
<div>
请输入需要转换大写字母的初始字母或单词:<asp:TextBox runat="server" ID="input"></asp:TextBox>
<asp:Button runat="server" ID="btn" Text="开始转换" onclick="btn_Click" />
<hr />
调用Web Service所返回的结果:<asp:Label runat="server" ID="output"></asp:Label>
</div>
</form>
</body>
</html>
最后编写Default.aspx.cs如代码13.3所示。
代码13.3 调用Web Service的逻辑代码:Default.aspx.cs
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace WebSvRm
{
public partial class _Default : System.Web.UI.Page
{
protected void btn_Click(object sender, EventArgs e)
{
//获取用户输入值
string txt1 = this.input.Text;
//创建MyWebSv对象,引用为WebSv1
localhost.MyWebSv WebSv1 = new localhost.MyWebSv();
//调用WebSv1方法,并传递txt1变量,返回值赋值给txt2
string txt2 = WebSv1.ConvertWord(txt1);
//将txt2赋值给output控件的“Text”属性值
this.output.Text = txt2;
}
}
}
打开IE浏览器,在浏览器地址栏输入“http://localhost/SendHtml.aspx”,并输入“microsoft .net framework”到TextBox控件中,然后单击“开始转换”按钮,页面运行效果如图13.2所示。
图13.2 Web Service调用实例
【分析】
本题考查面试者利用VS 2008等开发环境创建Web Service应用的基本方法,因为是基本方法,所以不涉及太多概念。实际上,用该方法创建Web Service应用最为简便,其中很多工作已经被VS 2008等开发环境封装,对于很多编程者,这些细节部分是透明的。解答中所创建的Web Service方法非常简单,在调用Web Service方法时,直接添加WEB引用即可。打开添加WEB引用时自动创建的localhost目录,如图13.3所示。
图13.3 添加WEB引用后生成的文件
可见,VS 2008的确做了很多工作,自动创建了4个文件,其中MyWebSv.disco文件用于Web Service的静态发现服务,即使用DISCO定位。不过最常用的Web Service发现服务是使用UDDI发现,即向UDDI服务器注册所创建的Web Service,这样整个Internet上的其他用户可以调用该Web Service的功能了。其中的MyWebSv.wsdl是该Web Service的服务描述,以方便调用方了解Web Service的功能等信息。Reference.cs是客户端的代理类,可用于客户端程序以所属平台的方式直接调用Web Service提供的方法等。Reference.map是一个XML文件,映射了所序列化的文件,即*.disco文件和*.wsdl文件。在实际的项目开发中,Web Service的这些细节工作一般由编程者手动编写,这样更适用于不同项目的需求。
分享到:
相关推荐
如何创建和发布Web Service.WEB服务...利用VS2005和IIS我们可以很容易地发布一个WEB SERVICE,因为其中有几个细节需要注意,所在初学者常常在这里出现问题,现通过一个简单的例子说明如何创建和发布一个WEB SERVICE。
本资源是本人中间件课程的大作业,...如何创建一个简单的Web Service?如何调用Web 服务? 该文档对如何创建及如何调用Web Service步骤都有详尽的记录,包括文字、图片、代码。相信对Web Service入门是非常有帮助的。
创建Web 应用程序和服务 和 web service 调用 源码 完整步骤,,,详细讲解。 完整源码!
PB11开发Web Service应用介绍
用一个空白的启动项目,所有的UI已经建立,本教程将介绍如何: • 如何使用 Objective-C 连接...• 如何使用 PHP 创建一个简单的 JSON API • 如何为此 API 实现用户授权 • 如何拍照、应用特效,并发送只 JSON 服务。
SAP应用及ABAP开发最佳实践—基于ABAP Workbench创建并发布Web Service.
30.1.3 创建一个简单Web Service 658 30.1.4 使用Web Service获取天气预报 661 30.2 社会标签(Tags)技术 663 30.2.1 社会标签简介 663 30.2.2 热门标签排行 664 30.2.3 标签的检索 665 30.3 在线客服 ...
要在Smart Device项目中使用XML Web ...要生成同步XML Web Service调用,需要创建一个代理类实例,然后调用此代理类中的方法,方式与调用其他类中的方法相同。文中演示了如何生成对XML Web Service 的Web方法的调用。
在通过internet网购买商品后,你可能对配送方式感到迷惑不解。经常的情况是因配送问题找配送公司而消耗你的大量时间,对于配送公司而言这也不是...我们建立了一个全新的web应用程序以便从核心商业应用程序中获得数据。
一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。 关键的技术和规则 在构建和使用Web Service时,主要用到以下几个关键的技术和规则: 1.XML:描述数据的标准方法。 2....
本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务。
Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务 ... 下面使用Visual Studio 2013(其他VS版本亦是如此)来创建一个简单Web service服务。 一、打开Visu
第13章 使用和创建 XML Web Service 第14章 状态管理 第15章 配置、优化和部署 Microsoft ASP.NET Web 应用程序 第16章 Web 安全性介绍 第17章 Web 应用程序安全性规划 第18章 验证用户输入 第19章 Internet 信息...
Service Worker 运行在一个与页面 JavaScript 主线程独立的线程上,并且无权访问 DOM 结构。这引入了一种与传统 Web 编程不同的方式:它的 API 是非阻塞的,并且可以在不同的上下文之间发送和接收信息。您可分配给 ...
学习Service Bus的第一个问题一定是,ALSB或者说OSB能做什么,或者说为什么需要OSB,对于... OSB里对于这些疑问的第一个回答是:如果一个应用直接面对各个平台和应用服务器上创建的 Web Service进行重用,会面临的 ...
该存储库包含一些示例,这些示例说明了如何使用RTI Web Integration Service ,这是一种用于将基于Web的应用程序和服务与RTI Connext:trade_mark:DDS集成的开箱即用的解决方案。 RTI Web集成服务 传统上,基于Web的...
概念性的东西就不说太多,下面开始创建一个简单的webservice的例子。这里我用的是Visual Studio 2015开发工具。 首先创建一个空的Web应用程序。 然后鼠标右键点击项目,选择 添加>新建项。 选择Web服务,点击...
介绍 ...创建一个Web Service 作为开始,使用Visual Studio 2005创建一个新的Web站点,注意把ASP.NET AJAX项目模板添加到新站点对话框,这个对话框包括一个"ASP.NET AJAX Enabled Web Site" 模板。
WebAPI: 提供给不同客户端(跨平台客户端)调用网页的应用程序编程接口。 Web API,一般指基于HTTP协议的编程接口,接口一般定义为HTTP或HTTPS:请求方法、请求路径、参数、响应数据格式、响应HTTP Code等。至于...
web service入门很好的例子。版权归原作者所有。