c#程序添加其他网站的webservice引用。
前言:
有A网站,B网站两个网站独立运行。某一天,需要两个网站进行合作来完成一件事,比如用A网站接收一些数据进行处理,存入中转数据库,B网站定时去取数据进入自己的系统进行处理。
可能我们会先想到在B网站做一个功能,定时去数据库取。但是如果我没有B网站的源代码只有开发文档呢。这时候可以用一个简单的winform程序来做。然而从中转数据库取数据容易,存到B网站自己的数据库难。为什么呢,因为数据要经过B网站的一些方法处理。这个时候,就用到了在winform程序中引用webservice的情景。
首先,vs2013创建一个winform程序。添加最基本的控件。一个button用来触发事件,一个label用来显示事件结果。
在解决方案资源管理器上点击右键,选择添加服务引用。
弹出框中,填写你要引入的服务。这里拿网上的一个天气预报的服务作实验。地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx,点击转到
如果服务地址正确,能找到服务,会弹出下面的框
命名空间可以随意命名,点击确定,可以看到我们的资源面板变成了这样子。
这个服务有什么方法呢。如果是你自己的服务,那么你肯定知道,如果是公共服务,可以在浏览器输入服务地址,看一下有哪些方法:
嗯。好了,就用它了。进入程序测试。
- private void button1_Click(object sender, EventArgs e)
- {
- WeatherServiceTest.WeatherWebServiceSoapClient client=new WeatherServiceTest.WeatherWebServiceSoapClient();
- string[] province = client.getSupportProvince();
- for (int i = 0; i < province.Length;i++ )
- {
- this.label1.Text += "\n" + province[i];
- }
- }
执行!点击button,结果报错如下:
可以清楚地看到,多个终点配置。打开app.config
可以清楚地看到,确实有两个终点配置。我们需要删除一个。那么这里删除哪一个呢。我们看到,这里程序默认给生成了两个binding,两个对应的endpoint。一个是basic基本的,一个是custom自定义的。然后我们可以看到,两个终点配置其实就是soap的协议不一样而已。其实删除哪一个都可以,这里我们保留basic,删除custom。(custom的binding可删可不删。为了保持整洁,没有多余的干扰项,我们也删除了)。删除后如下:
再次运行。
成功!!!
提醒:在一个应用中可以添加多个服务引用,但是每次添加的时候会相应添加两个binding和对应的endpoint,去掉其中一个即可。其他的和上述一样。
c#程序添加其他网站的webservice引用。的更多相关文章
- VS2010添加虚拟机发布的WebService引用
首先,WebServer已在虚拟机中完成发布.在网页中浏览可以看到如下所示内容 需要注意的是在发布时要给网站设置IP地址.如果在添加网站时没有设置,之后可以在网站绑定中进行修改.步骤如下: 1.选中网 ...
- visual studio 2010 winform程序不能添加对system.web的引用
visual studio 2010 winform程序不能添加对system.web的引用[转载] 需要引用到System.Web.发现没有“System.Web”.在通过“浏览”方式,找到该DLL ...
- WebService:asp.net类库中添加WebService引用出现问题解决方法
ylbtech-WebService:asp.net类库中添加WebService引用出现问题解决方法 1.返回顶部 1. 在Web项目内添加WebService的引用是件很简单的事情,今天在类库中添 ...
- Web应用程序与Web网站及部署在IIS中
在Visual Studio可以创建 Web 应用程序项目或网站项目.通过选择 新建项目 或 打开项目 创建或打开一个 Web 应用程序项目在Visual Studio 文件 菜单. 通过选择 新建网 ...
- 图像处理控件ImageGear for .NET教程如何为应用程序 添加DICOM功能(2)
在前面的一些关于图像处理控件ImageGear for .NET文章<图像处理控件ImageGear for .NET教程: 添加DICOM功能(1)>中讲解了如何对应用程序添加DICOM ...
- C# 为网络程序添加用户代理
如何为网络程序添加用户代理,本人推荐使用UrlMkSetSessionOption函数, 不过该函数有一个弱点不可以X64编译,X86编译软件才可以调用该函数 否则会一直返回!S_OK意义错误.第二呢 ...
- 为我们的SSR程序添加热更新功能
前沿 通过上一篇文章 通过vue-cli3构建一个SSR应用程序 我们知道了什么是SSR,以及如何通过vue-cli3构建一个SSR应用程序.但是最后遗留了一些问题没有处理,就是没有添加开发时的热更新 ...
- 图解微信小程序---添加tabBar底部菜单,添加已做好轮播图操作
图解微信小程序---添加tabBar底部菜单,添加已做好轮播图操作 什么是tabBar? 顶部或者底部tab栏如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以 ...
- 在Windows系统下用命令把应用程序添加到系统服务
在Windows系统下用命令把应用程序添加到系统服务,使用SC命令. 加入服务格式如下:sc create ServiceName binPath= 程序路径 start= auto(等号后面的空格是 ...
随机推荐
- hdu 4612 Warm up 有重边缩点+树的直径
题目链接 Warm up Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Tot ...
- html5 note
HTML5的特点 绘图支持 canvas 多媒体支持 video audio 离线应用 和 离线存储 新的语义化元素 article footer header nav section 表单增强 ca ...
- Delphi内存操作API函数(备查,并一一学习)
Delphi内存操作API函数System.IsMemoryManagerSet;System.Move;System.New;System.ReallocMem;System.ReallocMemo ...
- How can I get an object's absolute position on the page in Javascript?
How can I get an object's absolute position on the page in Javascript? How can I get an object's abs ...
- HTTPS 加密算法原理机制解析
当你在浏览器的地址栏上输入https开头的网址后,浏览器和服务器之间会在接下来的几百毫秒内进行大量的通信.InfoQ的这篇文章对此有非常详细的描述.这些复杂的步骤的第一步,就是浏览器与服务器之间协商一 ...
- DevExpress ASP.NET 使用经验谈(5)-通过ASPxGridView实现CRUD操作
这节,我们将通过使用DevExpress的ASPxGridView控件,实现对数据的CRUD操作. 首先,我们在解决方案中,添加一个网站: 图一 添加新网站 图二 添加DevExpress.Data. ...
- Penalty
Penalty时间限制:1000 ms | 内存限制:65535 KB难度:2描述As is known to us, the penalty is vitally important to comp ...
- mac上搭建svn服务器
1.terminal 执行svnadmin create 库地址/库名,生成的即为svn库根地址. 2.修改对应目录下conf/svnserve.conf文件: anon-access = read ...
- javascript 作用域链
最近想整理一下js执行代码的一些知识,如果有出错的地方还请指正. 执行环境(Execution Context) 所有的javascript代码都是在一个执行环境中被执行的.它只是一种机制,用来完成运 ...
- 10,随机等概率的输出m个不重复的数
今天看到一段代码,可以从0.....n-1中随机等概率的输出m个不重复的数(n远远大于m).遂记录下来. 首先,产生随机数,不免要用到srand,rand函数.先简单介绍下两个函数. 1,void s ...