Web服务概述

Internet正在向下一Web站点快速演进,今天的Web站点仅能为浏览器提供用户界面,而下一代可编程Web站点直接将企业、应用程序、服务和设备彼此链接。这些可骗程Web站点将不只是被动访问的站点,而将成为可重用的智能Web服务。

Web服务是可以通过网络远程访问类的属性和方法。先在IIS或其他Web服务器上部署和发布的一个远程对象实体,浏览器或其他分布式应用的客户端可以通过Web服务接入文件(扩展名.asmx)访问该远程对象的属性和方法。

下面就来建立Hello World的Web服务。

1.打开VS2008,文件->新建->网站,选择ASP.NET Web 服务,确定。

打开之后就可以看到Service.cs文件的代码如下:

using System;using System.Linq;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Xml.Linq;

[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。// [System.Web.Script.Services.ScriptService]public class Service : System.Web.Services.WebService{public Service () {

//如果使用设计的组件,请取消注释以下行 //InitializeComponent();     }

    [WebMethod]public string HelloWorld() {return "Hello World";    }

}

在所有可以作为服务访问的方法前面加上特性[WebMethod]。

2.这就是微软给我们演示的最简单的一个WebService例子,运行它,显示如下:

3.Service.asmx向外展现了一个方法:HelloWorld。点击HelloWorld链接,便可通过浏览器调用这一方法,如下图所示:

4.再点击“调用”按钮就会得到返回的结果,结果是以XML文档的格式返回的,如下图:

在使用Web服务之前,并不对Web服务文件编译,就像一个ASP.NET页面一样。但是如果不想别人查看Web服务的源代码,可以预编译Web服务。直接用命令行方式将Service.cs编译为Service.dll。

打开Visual Studio 2008 命令提示,输入如下:

csc /t:library /r:System.dll,System.Web.Services.dll d:\WebSite1\Service.cs

想了解更多有关命令行编译知识可以参与本博客的开发工具分类里的一篇文章(VS 命令行编译C#项目),生成的dll应该在下面这个目录里:

C:\Program Files\Microsoft Visual Studio 9.0\VC

其中引用了System.dll和System.Web.Services.dll程序集。在ASP.NET程序目录下创建Bin文件夹,将Service.dll文件拷贝到Bin文件夹。运行与未编译效果一样。

转载于:https://www.cnblogs.com/xiaocai0923/archive/2011/12/02/2271530.html

第一个WebService案例相关推荐

  1. TIPTOP 调用其他系统的webservice案例

    TIPTOP 调用其他系统的webservice案例 本案例主要是解决TIPTOP ERP调用其他系统的接口进行的集成开发,也就是当ERP作为客户端时候,它如何去调用其他系统的Webservice地址 ...

  2. Python:通过一个小案例深入理解IO多路复用

    通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import timestart = time.time()u ...

  3. 一个webservice的初级例子

    首先,我们必须了解什么是webservice.就概念上来说,可能比较复杂,不过我们可以有个宏观的了解:webservice就是个对外的接口,里面有函数可供外部客户调用(注意:里面同样有客户不可调用的函 ...

  4. BaseAdapter的一个简单案例

    BaseAdapter的一个简单案例 主Activity import android.os.Bundle; import android.app.Activity; import android.v ...

  5. javaweb 常用jar包_使用javaweb写一个登录案例

    下载地址:https://gitee.com/dl_shrimp/java_web_login_case.git https://www.zhihu.com/video/124178088859969 ...

  6. 用记事本开始写自己的第一个WebService

    打开记事本键入如下代码将其保存为addService.asmx <%@ WebService Language="c#" Class="AddNumbers&quo ...

  7. 用Html 和 Css来实现一个小小案例

    用Html 和 Css来实现一个小小案例 开发工具与关键技术:Html Css 作者:沈金凤 年级:18级(5)班 撰写日期:2019年1月17日 1.在Html 中我们会发现许多有趣的事件来,就比如 ...

  8. python编程案例教程-quot;怎样编写一个教学案例quot;python编程案例教程电子教案...

    怎样编写一个教学案例 1.什么是教学案例 (案是论) 教育教学案例是含有解决某些疑难问题,某些原方法.策略运用的教育教学情境故事的描述,故事中渗透课程改革的思想和理念,展现在教育教学理论.方法指导下解 ...

  9. 删除商品信息恢复的java_零基础学习java------35---------删除一个商品案例,删除多个商品,编辑(修改商品信息),校验用户名是否已经注册(ajax)...

    一. 删除一个商品案例 将要操作的表格 思路图 前端代码 > Insert title here 查詢商品列表 idnamecategorypnumdescription描述${product. ...

最新文章

  1. 手把手教你用Python实现自动特征工程
  2. nginx 带宽_Nginx优化配置,轻松应对十万并发
  3. 阿里mysql数据库同步_如何对MySQL数据库中的数据进行实时同步-阿里云开发者社区...
  4. 下一代微服务!ServiceMesh的2018年度总结 | 万字雄文
  5. 线程、同步与锁——Mutex想说爱你不容易
  6. Elasticsearch下安装ik分词器
  7. 【转】第7篇:Xilium CefGlue 关于 CLR Object 与 JS 交互类库封装报告:全自动注册与反射方法分析...
  8. pandas使用笔记(二)列操作
  9. Extjs 从grid中导出Excel表格。后台为C#(绝对好用)
  10. CCF2015-9-2日期计算
  11. bzoj2298: [HAOI2011]problem a
  12. hive 复合结构Map、Struct详解
  13. vscode中的中文乱码问题
  14. ubuntu 服务器 ip修改,修改Ubuntu server ip地址
  15. 合同在项目管理中的优势
  16. 虚拟机安装win10 x64系统
  17. 微信服务号添加小程序
  18. AI Now:比人脸识别更可怕的黑科技---情绪识别
  19. 关于SVM一篇比较全介绍的博文
  20. mobot_room.world-ROS2Gazebo9附1

热门文章

  1. Windows 下的 PHP 编译
  2. 每日站立会议(第六天)
  3. 关于导航按钮在其他尺寸下显示问题
  4. Webdriver API (二)
  5. 2015-12-15 关于数量个
  6. 一道面试题,我自己的解法
  7. Android-04:线程的使用
  8. 《你必须知道的.NET》,前言
  9. HTTP调试工具:Fiddler 介绍二
  10. vue3 封装文件上传组件