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. ModelArts微认证零售客户分群知识点总结

    \ 作者:华为云MVP郑永祥

  2. 17-Python执行JS代码--PyExecJS、PyV8、Js2Py

    一.Python执行JS代码--PyExecJS.PyV8.Js2Py 1.1.PyExecJS PyExecJS的优点是您不需要照顾JavaScript环境.特别是,它可以在Windows环境中运行 ...

  3. IOS原生方法实现二维码生成与扫描

    转自:http://www.jianshu.com/p/d6663245d3fa 二维码的生成有好多第三方库,如Z-Xing.但是为了控制安装包的大小,或者并不需要其他的一些额外的功能,用系统的方法即 ...

  4. HDU-1274

    在纺织CAD系统开发过程中,经常会遇到纱线排列的问题.  该问题的描述是这样的:常用纱线的品种一般不会超过25种,所以分别可以用小写字母表示不同的纱线,例如:abc表示三根纱线的排列:重复可以用数字和 ...

  5. 2018HDU多校训练一 A - Maximum Multiple

    Given an integer nn, Chiaki would like to find three positive integers xx, yy and zzsuch that: n=x+y ...

  6. Koa - 使用koa-multer上传文件(上传限制、错误处理)

    前言 上传文件在开发中是很常见的操作,今天我选择使用koa-multer中间件来实现这一功能,除了上传文件外,我还会对文件上传进行限制,以及发生上传错误时的处理. 由于原来的 koa-multer 已 ...

  7. iOS和webppy图片的爱恨情仇

    如果iOS是个好哥哥,webppy一定是一个持家能干的漂亮姑娘

  8. Python3 函数基础2

    目录 可变长参数 可变长形参: *args 可变长实参: *容器类 可变长形参: **kwargs 可变长实参: **字典 函数对象 引用 当做容器类型元素 当做参数传给一个函数 当做函数的返回值 函 ...

  9. Python3 面向对象进阶2

    目录 Classmethod Staticmethod Isinstance Issubclass 反射 概念 hasattr getattr setattr delattr 魔法方法 概念 __ne ...

  10. Android中实现异步轮询上传文件

    前言 前段时间要求项目中需要实现一个刷卡考勤的功能,因为涉及到上传图片文件,为加快考勤的速度,封装了一个异步轮询上传文件的帮助类 效果  先上效果图 设计思路 数据库使用的框架是GreenDao,一个 ...