WinFrm应用程序调用WebService服务

关于WebService的创建、发布与部署等相关操作不再赘述,传送门如下:C# VS2019 WebService创建与发布,并部署到Windows Server 2012R

此篇记录一下客户端的调用,以便后续学习使用,不足之处请指出。

建立WinFrm应用程序

  • 搭建前台界面,如下图 ;

  • 添加服务引用(项目->添加服务引用->高级->添加Web引用->...,如图);

  • 创建公共类Global.cs,代码如下;
 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace WinFrmWebClient
{
class Global
{
// 实例化一个Web服务类
public static LocalHost.WebServiceOracleTest myWebService = new LocalHost.WebServiceOracleTest();
}
}
  • 核心代码。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms; namespace WinFrmWebClient
{
public partial class FrmMain : Form
{
public FrmMain()
{
InitializeComponent();
} private void FrmMain_Load(object sender, EventArgs e)
{
this.listBoxLogs.Items.Clear();
} /// <summary>
/// 检查数据库连接是否正常
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnCheckConnect_Click(object sender, EventArgs e)
{
try
{
bool b = Global.myWebService.CheckOraConnect();
if (b)
{
this.listBoxLogs.Items.Add("Oracle 数据库连接正常!");
}
else
{
this.listBoxLogs.Items.Add("Oracle 数据库连接失败!");
}
}
catch (Exception ex)
{
this.listBoxLogs.Items.Add("调用WebService失败,错误信息[" + ex.Message + "]");
}
} /// <summary>
/// Say Hello
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSayHello_Click(object sender, EventArgs e)
{
try
{
this.listBoxLogs.Items.Add(Global.myWebService.HelloWorld());
}
catch (Exception ex)
{
this.listBoxLogs.Items.Add("调用WebService失败,错误信息[" + ex.Message + "]");
}
} /// <summary>
/// 显示当前时间对应的周别
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnShowWeek_Click(object sender, EventArgs e)
{
try
{
this.listBoxLogs.Items.Add("今天是2019年,第[" + Global.myWebService.GetWeek(DateTime.Now.ToString()) + "]周,请知悉!");
}
catch (Exception ex)
{
this.listBoxLogs.Items.Add("调用WebService失败,错误信息[" + ex.Message + "]");
}
}
}
}

实现效果

作者:Jeremy.Wu
  出处:https://www.cnblogs.com/jeremywucnblog/

  本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

C# - VS2019 WinFrm应用程序调用WebService服务的更多相关文章

  1. C#调用WebService服务(动态调用)

    原文:C#调用WebService服务(动态调用) 1 创建WebService using System; using System.Web.Services; namespace WebServi ...

  2. 问题:C#调webservice超时;结果:C#调用webservice服务超时

    C#调用WebService服务时,报错,The operation has timed out,意思是“操作超时”. 方法/步骤 首先修改服务端配置 WebService服务所在站点为服务端,它提供 ...

  3. 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】

    不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...

  4. 使用ajax和urlconnection方式调用webservice服务

    <html> <head> <title>使用ajax方式调用webservice服务</title> <script> var xhr = ...

  5. ajax调用webservice服务

    ajax调用是 html方向调用的, 而sqlconnection是 java代码调用的,本质差不多 <html> <head> <title>通过ajax调用we ...

  6. sqlconnection 调用webservice服务

    package cn.itcast.service.urlconnection; import java.io.InputStream; import java.io.OutputStream; im ...

  7. cxf 调用 webservice服务时传递 服务器验证需要的用户名密码

    cxf通过wsdl2java生成客户端调用webservice时,如果服务器端需要通过用户名和密码验证,则客户端必须传递验证所必须的用户名和密码,刚开始想通过url传递用户名和密码,于是在wsdl文件 ...

  8. WindowsForm应用程序调用WebService

    本文原创,如需转载,请标明源地址,谢谢合作!http://blog.csdn.net/sue_1989/article/details/6597078 本文的编写IDE为VSTS2008和.NET F ...

  9. C++调用WebService服务问题总结

    近期接手一部分C++研发工作,同时与.NET开发小组进行软件功能协作,于是需要调用.NET WebService服务,已完成数据的网络通讯业务功能:结束之余,将手头碰到的问题总结罗列如下: C++如何 ...

随机推荐

  1. 以面向对象的思维,搭建Android与多ble蓝牙设备并发通讯小框架

    Android连接多蓝牙设备.蓝牙与多设备连接.蓝牙ble多设备并发操作.Android连接不了.Android ble开发框架.Android 连接蓝牙总结 前言 小白请绕道百度,本文适合有一定An ...

  2. luogu P1412 经营与开发 |dp

    题目描述 4X概念体系,是指在PC战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以"EX"为开头的英语单词. eXplore(探索) eXpand(拓张与发展) eXplo ...

  3. Kubernetes v1.17 版本解读 | 云原生生态周报 Vol. 31

    作者 | 徐迪.李传云.黄珂.汪萌海.张晓宇.何淋波 .陈有坤.李鹏审核 | 陈俊 上游重要进展 1. Kubernetes v1.17 版本发布 功能稳定性是第一要务.v1.17 包含 22 个增强 ...

  4. Mysql基础01-语法

    数据库 数据的存储:将数据放到表中,表再放到库中. 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己.表名具有唯一性. 表由列组成,我们也称为字段.每个字段描述了它所含有的数据的意义表由列组 ...

  5. 使用 Zookeeper 的 Api 实现服务注册

    创建常量接口 com.bjsxt.constant.Constants package com.bjsxt.constant; public interface Constants { //访问Zoo ...

  6. 数据库Oracle的含义

    数据库的含义: 所谓的数据库其实就是数据的集合.用户可以对集合中的数据进行新增.查询.更新. 删除等操作.数据库是以一定方式储存在一起.能与多个用户共享.具有尽可能小的冗余度. 与应用程序彼此独立的数 ...

  7. BZOJ[HNOI2005]狡猾的商人(差分约束)

    1202: [HNOI2005]狡猾的商人 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 4969  Solved: 2496[Submit][Sta ...

  8. TypeScript - 类型声明、枚举、函数、接口

    目录  可定义的类型  类型声明  枚举  函数  接口 可定义的类型 以下所写的并不代表typescript的数据类型,而是在使用过程中可以用作定义的类型 number : 数值类型: string ...

  9. Linq 常用操作(增删改)

    增加 using(var db = new Entities()) { //数据操作 UserInfo user = new UserInfo() { UserName = "zhangsa ...

  10. 01 | 可见性、原子性和有序性问题:并发编程Bug的源头

    由于CPU.内存.I/O 设备的速度差异,为了合理利用 CPU 的高性能,平衡这三者的速度差异,计算机体系机构.操作系统.编译程序都做出以下处理: 1. CPU 增加了缓存,以均衡与内存的速度差异: ...