.NET C#创建WebService服务简单实例

发布时间 - 2026-01-11 01:05:25    点击率:

Web service是一个基于可编程的web的应用程序,用于开发分布式的互操作的应用程序,也是一种web服务

WebService的特性有以下几点:

1.使用XML(标准通用标记语言)来作为数据交互的格式。

2.跨平台性,因为使用XML所以只要本地应用可以连接网络解析XML就可以实现数据交换,比如安卓、IOS、WindowsPhone等都可以实现对Web service的数据交互。

3.基于HTTP协议,直接跨越防火墙,通用型强;

下面使用Visual Studio 2013(其他VS版本亦是如此)来创建一个简单Web service服务。

一、打开Visual Studio->文件->新建->网站

二、之后选择ASP.NET空网站,再点击“确定”

三、新建网站后你会看到解决方案管理器中看到一个web.config,待会我们可以通过配置这个文件来实现浏览器对WebService的远程调用。

现在,右键解决方案中的项目名添加一个WebService项目。

四、之后,你可以在项目模版中找到Web服务(ASMX),添加它!

五、创建之后在APP_Code文件夹中创建一个WebService.cs文件

在网站根目录下会同时创建一个WebService.asmx文件

这两个文件中WebService.cs负责逻辑部分,WebService.asmx提供服务部分。将来引用WebService服务时将直接引用WebService.asmx文件来调用WebService服务,服务的执行部分就是WebService.cs文件

现在打开WebService.cs文件来编辑逻辑部分实行一个简单的《客户端调用web服务实现一个简单的加法运算,并返回以字符串给客户端运算结果》

/*
  Web.Services.cs文件
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

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

  public WebService () {

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

  /// <summary>
  /// 方法上头的[WebMethod]是声明一个web服务方法,如果你想写个方法能让客户端调用并返回结果就必须在方法上头标注[WebMethod]
  /// 如果是只负责逻辑运算或私有方法,并不打算给客户端结果,只给类方法内部调用就无需声明[WebMethod]
  /// </summary>
  /// <param name="a"></param>
  /// <param name="b"></param>
  /// <returns>将运算结果转换成字符串返回</returns>
  [WebMethod]
  public string HelloWorld(int a, int b) {
    int result = a + b;
    return result.ToString();
  }  
}

上面的代码写了一个基本的方法供远程调用,将cs文件保存后,一个简单的web服务就创建了!

下面我们启动这个项目,用浏览器查看微软为我们定义测试的调用页面:

在这里我们可以看到我们写的Hello方法可以调用了,我们单击进入这个方法进入调用调试页面:

输入参数,我们写的是一个简单的加法运算,参数便是我们写的HelloWorld方法的参数a和b,我们输入两个整数点击调用,出现如下结果:

下面是web服务返回的结果,其中133就是HelloWorld参数a+b返回的结果:

<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="http://tempuri.org/">133</string>

到这里,以后我们想要调用一个web服务就可以通过以上方式把客户端从服务器获取数据,访问:"主机名/web服务名.asmx"就可以调用了。

得到的数据是个XML,所以客户端得到数据后需要客户端解析XML文件。

注意:以上创建在浏览器调用的web服务仅供本地计算机调试使用,需要配置web.config(之前提到过)才能实现远程调用调试

如果不配置,在远程调用会出现:测试窗体只能用于来自本地计算机的请求解决 的问题。

如需远程调用可以参考一下方法:

在网站的解决方案的下方找到web.config

打开后添加如下配置即可:

<system.web> 
  <webServices> 
   <protocols> 
    <add name="HttpGet"/> 
    <add name="HttpPost"/> 
   </protocols> 
  </webServices>  
<system.web>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# .NET  # C#  # WebService  # 客户端  # 创建一个  # 就可以  # 可编程  # 应用程序  # 的是  # 是一个  # 是个  # 如果你  # 在这里  # 你可以  # 你会  # 仅供  # 右键  # 我们可以  # 这两个  # 微软  # 能让  # 可以看到  # 写了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  历史网站制作软件,华为如何找回被删除的网站?  使用spring连接及操作mongodb3.0实例  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  nginx修改上传文件大小限制的方法  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  浅谈javascript alert和confirm的美化  ,交易猫的商品怎么发布到网站上去?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  七夕网站制作视频,七夕大促活动怎么报名?  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何为不同团队 ID 动态生成多个非值班状态按钮  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  如何在橙子建站中快速调整背景颜色?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  Android自定义控件实现温度旋转按钮效果  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  免费网站制作appp,免费制作app哪个平台好?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  Laravel如何自定义分页视图?(Pagination示例)  浅析上传头像示例及其注意事项  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  如何快速搭建高效WAP手机网站吸引移动用户?  济南网站建设制作公司,室内设计网站一般都有哪些功能?  如何自定义建站之星网站的导航菜单样式?  Laravel如何创建自定义Facades?(详细步骤)  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  Laravel如何处理跨站请求伪造(CSRF)保护_Laravel表单安全机制与令牌校验  如何在Windows环境下新建FTP站点并设置权限?  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  北京网站制作公司哪家好一点,北京租房网站有哪些?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  如何挑选最适合建站的高性能VPS主机?  南京网站制作费用,南京远驱官方网站?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  如何用y主机助手快速搭建网站?  教你用AI将一段旋律扩展成一首完整的曲子  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程