c# winform 访问WebServices (通过Http方式)
第一步、编写WebServices服务方法
[WebMethod]
public void PostJson(string str, string bb)
{
Dictionary<string, object> DictResult = new Dictionary<string, object>();
IList<Dictionary<string, string>> list = new List<Dictionary<string, string>>();
/*此处提供的只是示例,实际项目中,按照具体业务*/
for (int ii = ; ii < ; ii++)
{
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("str", str);
dict.Add("bb", bb);
list.Add(dict);
}
/*此处提供的只是示例,实际项目中,按照具体业务*/
if (str == "")
{
DictResult.Add("Code", "");
DictResult.Add("Msg", "访问成功");
DictResult.Add("Result", list);
}
else
{
DictResult.Add("Code", "-1");
DictResult.Add("Msg", "访问失败");
DictResult.Add("Result", null);
} Tools.ConvertToJson(DictResult);
}
Web方法返回的内容

第二步、编写Winform客户端的访问代码
string HttpPost(string URL, string Para)
{
// 创建HttpWebRequest对象
HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(URL);
httpRequest.Method = "POST";
httpRequest.ContentType = "application/x-www-form-urlencoded";
byte[] bytes = Encoding.UTF8.GetBytes(Para);
using (Stream reqStream = httpRequest.GetRequestStream())
{
reqStream.Write(bytes, , bytes.Length);
reqStream.Flush();
}
try
{
using (HttpWebResponse myResponse = (HttpWebResponse)httpRequest.GetResponse())
{
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
string responseString = sr.ReadToEnd();
return responseString;
}
}
catch (WebException ex)
{
var res = (HttpWebResponse)ex.Response;
StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8);
string str = sr.ReadToEnd();
return str;
}
}
第三步、设计调用界面

第四步、执行调用方法
private void button1_Click(object sender, EventArgs e)
{
string url = "http://localhost:6029/TestServ.asmx/PostJson";
string Para = "str=11&bb=AA";
textBox1.Text = HttpPost(url, Para);
}
第五步、显示执行结果

c# winform 访问WebServices (通过Http方式)的更多相关文章
- c# winform 访问WebServices 服务(通过WEB引用的方式进行访问)
第一步.Winform项目引用WEB服务 第二步.代码声明实例化 Web引用 YzServ.TestServ yzserv = new WebYzServ.TestServ(); yzserv.AAA ...
- C#利用WinForm调用WebServices实现增删改查
实习导师要求做一个项目,用Winform调用WebServices实现增删改查的功能.写下这篇博客,当做是这个项目的总结.如果您有什么建议,可以给我留言.欢迎指正. 1.首先,我接到这个项目的时候,根 ...
- System.Web.Http.Cors配置跨域访问的两种方式
System.Web.Http.Cors配置跨域访问的两种方式 使用System.Web.Http.Cors配置跨域访问,众多大神已经发布了很多文章,我就不在详细描述了,作为小白我只说一下自己的使用心 ...
- JavaScript对象属性访问的两种方式
JavaScript对象属性访问的两种方式 object.attribute object["attribute"] 例如: var employees = [ { "f ...
- Spring Boot入门(六):使用MyBatis访问MySql数据库(注解方式)
本系列博客记录自己学习Spring Boot的历程,如帮助到你,不胜荣幸,如有错误,欢迎指正! 本篇博客我们讲解下在Spring Boot中使用MyBatis访问MySql数据库的简单用法. 1.前期 ...
- jexus上部署nuget私服vs访问403错误解决方式
因为vs去访问nuget项目的时候是以下面的方式去访问的 http://域名/nuget/Search()?$filter=IsLatestVersion&searchTerm=''& ...
- Oracle 执行计划(二)------表访问的几种方式
表访问的几种方式:(非全部) 参照表 primary key is id 1.TABLE ACCESS FULL(全表扫描):查询出该表所有数据,获取的数据执行where语句. Don’t creat ...
- Winform访问本地SQLServer数据库文件
Winform访问本地SQLServer数据库文件 1.项目中添加config配置,如下: <configuration> <connectionStrings> <ad ...
- iOS- 网络访问两种常用方式【GET & POST】实现的几个主要步骤
1.前言 上次,在博客里谈谈了[GET & POST]的区别,这次准备主要是分享一下自己对[GET & POST]的理解和实现的主要步骤. 在这就不多废话了,直接进主题,有什么不足的欢 ...
随机推荐
- Analysis of Hello2 source code
Hello2 应用程序是一个 Web 模块,它使用 Java Servlet 技术来显示问候语和响应,使用的是 Java Servlet 技术. 该应用程序源代码在 tutorial-examples ...
- js 实现手风琴
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python——实现三级菜单选择的功能(原创)
#coding:utf-8 dict={'beijing':{'haidingqu':['qinghe','keji'],'chaoyangqu':['q','w']},'shandong':{'li ...
- 【深圳·招聘】QQ音乐测试工程师-职位内推
QQ音乐测试工程师 岗位职责 负责腾讯QQ音乐移动端/后台/web相关特性测试分析和执行,保障发布质量. 岗位要求 专业本科及以上学历,计算机/软件工程/信息管理/数学与应用数学/自动化/通信工程/电 ...
- Django中的Model.objects.create() 和 Model() 的区别?
Django 官方文档说明 objects.create 是 A convenience method for creating an object and saving it all in one ...
- ant:如何用ant将web project打包成war包
说明:src中的文件将不会呈现出来,诸位可以自己写一个简单的web项目,然后依照我所提供的ant脚本配置来设置. 文件结构如图所示: 配置为下: build.xml < ...
- 【转载】Oracle Spatial中SDO_Geometry详细说明
转载只供个人学习参考,查看请前往原出处:http://www.cnblogs.com/upDOoGIS/archive/2009/05/20/1469871.html 相关微博:oracle 创建SD ...
- iptables学习02-nat表应用
nat表应用实验 第一步 准备工作 A机器两块网卡ens33(192.168.2.106).再添加一块自定义网卡ens37(192.168.100.1),添加到LAN内网区段(自定义名字,写什么无所谓 ...
- 云机器同步数据 - rsync
一.需求 从google cloud云机器上定期同步图片内容,选用了支持增量备份的rsync. 二.rsync概述 rsyn是类unix系统下的数据镜像备份工具 - remote sync,安全性高, ...
- Reids(4)——神奇的HyperLoglog解决统计问题
一.HyperLogLog 简介 HyperLogLog 是最早由 Flajolet 及其同事在 2007 年提出的一种 估算基数的近似最优算法.但跟原版论文不同的是,好像很多书包括 Redis 作者 ...