C#使用Asp.Net创建Web Service接口并调用

这篇具有很好参考价值的文章主要介绍了C#使用Asp.Net创建Web Service接口并调用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一.创建Asp.net web应用以及Web Service服务

(1).运行环境

(2)创建项目

二.创建控制台应用来调用上面创建的Web Service


一.创建Asp.net web应用以及Web Service服务

(1).运行环境

开发工具: Visual Studio 2022 Current (免费社区版)

框架版本: .net framework4.7.2,更高的.net 5 、net6貌似没有默认提供带web service的asp.net 应用模板了。

确保VS的工作负荷有勾选下方箭头所指的模块

.net webservice接口开发,c#,asp.net

确认环境没有问题之后就可以开始创建项目了。

(2)创建项目

打开vs点创建新项目

.net webservice接口开发,c#,asp.net

选择箭头指向的项目模板,注意是.NET Framework后缀的,带Core的都是版本比较新的框架项目模板,选择好之后点击下一步选择项目存放的路径以及项目命名、解决方案命名、框架版本,

我这里就用默认的命名了,框架我选.net framework 4.7.2,然后点击创建即可开始下一步。

.net webservice接口开发,c#,asp.net

点击创建进去会出来一个模板进一步的配置,因为我这也只是整个Web Service接口来而已就选空模板,直接在本机跑也不需要Docker之类的

.net webservice接口开发,c#,asp.net

搞定之后直接创建,创建完成后右键项目点添加->新建项->找到Web 服务(AMSX),选择之后点添加就能创建一个web service默认的hello world模板

.net webservice接口开发,c#,asp.net

.net webservice接口开发,c#,asp.net

加上之后直接启动就可以看到一个网页的服务说明以及对应方法的测试路由,以及对应的方法

.net webservice接口开发,c#,asp.net.net webservice接口开发,c#,asp.net

在调试模式下可以直接通过上面的调用按钮调用指定的方法,这里点一下调用会返回一个xml并转换成网页.net webservice接口开发,c#,asp.net

打包之后这个操作就不支持了,到这里创建就算完成了。

这里因为打开的文档就是刚刚创建的web服务所以vs会直接把路由跳到这里,如果当前打开的文档不是创建的WebService1类运行起来就会报服务器没有开启目录浏览,所以要像下面设置一下项目属性。

.net webservice接口开发,c#,asp.net

二.创建控制台应用来调用上面创建的Web Service

直接右键解决方案添加一个控制台应用,这里我用HttpClinet类所以用的框架版本是.net 6

且使用顶级语句,因为就几句话emmmm,发送报文运行一下web服务把报文copy下来就好。

本地测试的时候可以用http直接调用,虽然不知道为什么部署到服务器之后就只能通过Soap协议丢xml报文来调了。下面是代码报文是运行一下web服务把对应方法的post请求直接copy下来

.net webservice接口开发,c#,asp.net

返回的就是一坨xml,箭头指的就是方法返回的Hello world,可以用.net自带的linq来解析很方便,命名空间是这个

using System.Xml.Linq;

这是上面运行的代码。

using System.Net.Http.Headers;

var clinet = new HttpClient();
var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
    "\r\n<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
    "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">\r\n" +
    "  <soap12:Body>\r\n    <HelloWorld xmlns=\"http://tempuri.org/\" />\r\n " +
    " </soap12:Body>\r\n</soap12:Envelope>";//把请求xml直接copy下来
var httpcotent = new StringContent(xml);//创建一个http字符报文实例,把上面的报文丢进去当正文
httpcotent.Headers.ContentType = MediaTypeHeaderValue.Parse(" application/soap+xml; charset=utf-8");//设置报文的内容标头,一样上启动的页面上copy下来,soap1.1、soap1.2都一样,我这里用的是Soap1.2
var respon = await clinet.PostAsync(requestUri: "http://localhost:56298/WebService1.asmx?op=HelloWorld", content: httpcotent);//uri一样上去打开那个方法从浏览器copy下来
Console.WriteLine(await respon.Content.ReadAsStringAsync());//异步读取服务器返回的所有数据并且转成字符串,这里回复的会是一个xml文本
Console.ReadKey();

下面是使用XDocument类进行解析xml数据的代码

.net webservice接口开发,c#,asp.net文章来源地址https://www.toymoban.com/news/detail-800727.html

using System.Net.Http.Headers;
using System.Xml.Linq;

var clinet = new HttpClient();
var xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
    "\r\n<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" " +
    "xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">\r\n" +
    "  <soap12:Body>\r\n    <HelloWorld xmlns=\"http://tempuri.org/\" />\r\n " +
    " </soap12:Body>\r\n</soap12:Envelope>";//把请求xml直接copy下来
var httpcotent = new StringContent(xml);//创建一个http字符报文实例,把上面的报文丢进去当正文
httpcotent.Headers.ContentType = MediaTypeHeaderValue.Parse(" application/soap+xml; charset=utf-8");//设置报文的内容标头,一样上启动的页面上copy下来,soap1.1、soap1.2都一样,我这里用的是Soap1.2
var respon = await clinet.PostAsync(requestUri: "http://localhost:56298/WebService1.asmx?op=HelloWorld", content: httpcotent);//uri一样上去打开那个方法从浏览器copy下来
var responstr = await respon.Content.ReadAsStringAsync();
Console.WriteLine(responstr);//异步读取服务器返回的所有数据并且转成字符串,这里回复的会是一个xml文本
Console.ReadKey();
Console.WriteLine("下面用XDocument来取返回的值Hello World");
var xd = XDocument.Parse(responstr);//将返回的xml文本转换成XDocument对象
Console.WriteLine(xd.Root?.Value);//因为直接就是一个节点就不用Find了直接root.value
Console.ReadKey();

到了这里,关于C#使用Asp.Net创建Web Service接口并调用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C#引用Web Service 类型方法,添加搜索本地服务器Web Service 接口调用方法

    wsdl首先保证现在网络能调用web service接口,右键项目添加服务引用 点击高级 添加web服务 输入搜索的服务器接口,选中你要添加调用的方法即可 添加完成调用方法

    2024年02月13日
    浏览(41)
  • C# ASP.NET Core Web API 身份授权(JWT)验证(一)

    1.开发环境 VS2022,安装时记得勾选ASP.NET有关的都选上,建议全选,省的麻烦。          2.创建初始工程 TestApi (你自己的工程名称)。    这就创建工程成功了,按 F5 则可以进行调试了。 而在项目中,我们不仅仅会用到基础的api功能,我们一般还会用到  身份授权(J

    2024年02月02日
    浏览(57)
  • C# .NET 如何调用 SAP RFC 接口

    1.分析传参结构 SAP 传参格式对应 .NET 参数格式 SAP 参数 .NET 参数 参数类型 import(导入)——关联类型为数据元素 Param 单个变量参数 import(导出)——关联类型为结构体 Struct 结构体 table Table 表 下面是 SAP 对应参数类型: 2.web.config 配置 配置文件需要客户端名和连接地址和账户密

    2024年02月13日
    浏览(33)
  • C#,ASP.NET委托的使用

    【注释】: 1.【声明委托】:想调用哪里的委托就在哪里声明(第一步) 2.【委托的调用】在哪里使用,就在哪里定义委托(第三步) 3. 委托变量 和 具体方法的关联,通常是分开的(第四步) (这里是Form2调用Form1的函数)访问链接:C#跨窗体调用控件(委托回调函数使用例

    2024年02月11日
    浏览(41)
  • 【详细】利用VS2019创建Web项目,并发送到IIS,以及IIS与ASP.NET配置

    如果选择创建新项目后打开没有以上选项,则需要对VS2019的安装进行修改 1、电脑左下角——开始——找到Visual Studio Installer打开——修改 2、选中图中框出的部分,点击安装即可,安装成功后重启VS就会有了 选择空项目,点击创建,等待项目创建成功 除了通过自己手写代码以

    2024年02月02日
    浏览(59)
  • C# .Net6 指定WSDL, 生成Webservice,调用该接口服务

    IDE: Microsoft Visual Studio Community 2022 (64 位) 平台:.Net6 协议:Soap协议 Xml格式 需要开发一个前置机程序, 用于和硬件程序交互, 已知条件是:嵌入式同事提供另一个约定好的*.wsdl文件作为双方通信的Webservice接口协议,对方是服务端,前置机是客户端 使用BasicHttpBinding 通过WS

    2024年02月04日
    浏览(47)
  • asp.net老年大学教务管理信息系统VS开发sqlserver数据库web结构c#编程

    一、源码特点         asp.net 老年大学教务管理信息系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使 用c#语言开发 asp.net老年大学教务管理系统 应用技术:asp.net c#+sqlserver 开发工具:

    2024年02月07日
    浏览(64)
  • asp.net古代服饰系统VS开发sqlserver数据库web结构c#编程包含购物答题功能点

    一、源码特点         asp.net 古代服饰系统 是一套完善的web设计管理系统(含购物 答题),系统采用mvc模式(BLL+DAL+ENTITY)系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境 为vs2010,数据库为sqlserver2008,使用c#语言开发 asp.net 月下逢古代服饰系统1 二、功能

    2024年02月07日
    浏览(48)
  • 从0到1手把手教你ASP.NET Core Web API项目配置接口文档Swagger(一)

    1、双击打开VS2022。 2、单击“创建新项目”,如下图。 3、选择“ASP.NET Core Web API”类型,然后单击“下一步”,如下图。 4、“项目名称”此处填写为“AllTestDemo”;“位置”此处放在E盘根目录;“解决方案名称”此处默认与“项目名称”保持一致;不勾选“将解决方案和项

    2023年04月11日
    浏览(63)
  • 从0到1手把手教你ASP.NET Core Web API项目配置接口文档Swagger(二)

    传送门:从0到1手把手教你ASP.NET Core Web API项目配置接口文档Swagger(一) 我们虽然可以在输入 /swagger 后顺利的访问 Swagger UI 页面,但是我们发现每次运行项目都会默认访问 /weatherforecast 这个接口,想要将启动页设为 /swagger (或者其他页面)就需要用到配置文件 launchSettings.

    2023年04月12日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包