【.NET全栈】WinForm程序从WebService中读数据的步骤+代码


前言

在.NET框架中,WinForm应用程序与WebService交互是一种常见的数据交换方式,尤其是在需要从远程服务器获取数据或调用服务时。WebService通常以SOAP协议的形式提供服务,而.NET框架提供了丰富的工具和API来简化这一过程。本文将引导你通过几个简单的步骤,使用C#在WinForm程序中调用WebService并读取数据,同时提供代码示例,帮助你快速上手。

一、准备工作

1、确保已经建立了WebService服务

新建WebService服务程序的步骤见我的这篇文章:
win10部署webservice网站的步骤

https://blog.csdn.net/qq_38628970/article/details/126523977?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172359999816800182716335%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=172359999816800182716335&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-126523977-null-null.nonecase&utm_term=webservice&spm=1018.2226.3001.4450

2、确保服务端电脑上发布了WebService服务

详情见我的这篇文章:
webservice的创建+发布+调用

https://blog.csdn.net/qq_38628970/article/details/100773428?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172359978516800188539999%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=172359978516800188539999&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-2-100773428-null-null.nonecase&utm_term=webservice&spm=1018.2226.3001.4450

3、确保有作为服务端的程序给发布的服务中有数据写入

后面增添这部分的代码:

这里是引用

二、新建项目及添加WebReference

1、添加WebReference服务引用

在这里插入图片描述

在这里插入图片描述

2、填写发布服务的地址URL

IP为对应的发布时候的设置的IP
在这里插入图片描述

3、选‘添加Web引用’

在这里插入图片描述

4、在URL中填写WebService服务地址

笔者的是局域网地址:http://192.168.1.30/WebServiceData.asmx
在这里插入图片描述
在这里插入图片描述

5、确保能看到已发布服务中的数据

接口函数浏览,然后点击
在这里插入图片描述

6、引用完成

在这里插入图片描述

三、从webService服务中读数据的代码

引用完成后,就可以调用WebReference.Service类对象。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Web.Services;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public WebReference.Service svr = new WebReference.Service();
        private void Form1_Load(object sender, EventArgs e)
        {
            svr.Url = "http://127.0.0.1/Service.asmx";   // 此处应该修改成已经发布的IP
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            string[] serverData = new string[] { };

            serverData = svr.readData("参数1", "参数2");

            string showDatas = string.Empty;
            foreach (string data in serverData)
            {
                showDatas = showDatas + data + "\n";
            }

            richTextBox1.Text = showDatas;
        }
    }
}

项目中显示:
在这里插入图片描述

总结

可以实时读到WebService服务中的数据了。。。

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值