C# - VS2019 WinFrm应用程序调用WebService服务
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服务的更多相关文章
- C#调用WebService服务(动态调用)
原文:C#调用WebService服务(动态调用) 1 创建WebService using System; using System.Web.Services; namespace WebServi ...
- 问题:C#调webservice超时;结果:C#调用webservice服务超时
C#调用WebService服务时,报错,The operation has timed out,意思是“操作超时”. 方法/步骤 首先修改服务端配置 WebService服务所在站点为服务端,它提供 ...
- 【Java EE 学习 80 下】【调用WebService服务的四种方式】【WebService中的注解】
不考虑第三方框架,如果只使用JDK提供的API,那么可以使用三种方式调用WebService服务:另外还可以使用Ajax调用WebService服务. 预备工作:开启WebService服务,使用jd ...
- 使用ajax和urlconnection方式调用webservice服务
<html> <head> <title>使用ajax方式调用webservice服务</title> <script> var xhr = ...
- ajax调用webservice服务
ajax调用是 html方向调用的, 而sqlconnection是 java代码调用的,本质差不多 <html> <head> <title>通过ajax调用we ...
- sqlconnection 调用webservice服务
package cn.itcast.service.urlconnection; import java.io.InputStream; import java.io.OutputStream; im ...
- cxf 调用 webservice服务时传递 服务器验证需要的用户名密码
cxf通过wsdl2java生成客户端调用webservice时,如果服务器端需要通过用户名和密码验证,则客户端必须传递验证所必须的用户名和密码,刚开始想通过url传递用户名和密码,于是在wsdl文件 ...
- WindowsForm应用程序调用WebService
本文原创,如需转载,请标明源地址,谢谢合作!http://blog.csdn.net/sue_1989/article/details/6597078 本文的编写IDE为VSTS2008和.NET F ...
- C++调用WebService服务问题总结
近期接手一部分C++研发工作,同时与.NET开发小组进行软件功能协作,于是需要调用.NET WebService服务,已完成数据的网络通讯业务功能:结束之余,将手头碰到的问题总结罗列如下: C++如何 ...
随机推荐
- 《Windows内核安全与驱动开发》 3.2 内存与链表
<Windows内核安全与驱动开发>阅读笔记 -- 索引目录 <Windows内核安全与驱动开发> 3.2 内存与链表 1. 尝试生成一个链表头并将其初始化. 2. 尝试向内存 ...
- 转:轻松把玩HttpClient之封装HttpClient工具类(一)(现有网上分享中的最强大的工具类)
搜了一下网络上别人封装的HttpClient,大部分特别简单,有一些看起来比较高级,但是用起来都不怎么好用.调用关系不清楚,结构有点混乱.所以也就萌生了自己封装HttpClient工具类的想法.要做就 ...
- composer install 或 update 速度慢的解决方案(composer加速)
我们在使用composer install和composer update时,有的时候安装和更新速度非常慢,我们可以通过下面的几个方法来解决这个问题. 首先查看一下当前的 composer 全局配置地 ...
- Python报错ERROR: Command errored out with exit status 1:
解决方法: 1.以管理员身份打开cmd 2.pip install robotframework-AutoItLibrary (本次安装时Python基于3.7.3,pip为最新版本) 3.安装成功
- 胸部CT提取分割肺部
1. 肺部分割提取简介 在处理胸部CT时,我们常常需要获取肺部的一个mask,也就是将肺部结构从数据中提取出来.二维图像还好说,但是三维图像就会变得复杂复杂一点.肺部的分割常常做后续操作的预处理,所以 ...
- LightOJ 1229 Tablecross
Treblecross is a two player game where the goal is to get three X in a row on a one-dimensional boar ...
- require.context批量引入文件
require.context 是什么 require.context 是由webpack内部实现,require.context在构建时,webpack 在代码中进行解析. 当需要引入文件夹内多个文 ...
- 深入探索Java设计模式之单例模式
单例模式可确保在给定的时间实例中只能创建一个具有全局访问点的对象.这是面向对象编程中最常用的技术之一.尽管它很简单,但从类设计的角度来看可能是最简单的,但是在尝试实现它们之前,必须先解决一些细微的问题 ...
- 【Java Web开发学习】Spring构造器和属性注入
测试类 public class Construct { private String address; private long phone; public Construct(String nam ...
- 使用 Vue + axios 时,返回状态200,返回值被浏览器拦截
目录 一.前言 二.解决方案 1. 在全局定义 2. 单独定义 一.前言 在使用 Vue + TypeScript + axios 时,后端已经配置了Cors的前提下,但是在请求接口的时候,返回状态为 ...