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(等号后面的空格是 ...
随机推荐
- VirtualBox 更改主机和虚拟机之间的鼠标切换热键
VirtualBox 主机和虚拟机之间的鼠标切换热键 是 Right Ctrl.一般用惯VM Ware的都不太习惯,那么怎么改变VirtualBox鼠标切换热键呢? 1.点击菜单栏的 管理--&g ...
- Node爬虫
Node爬虫 参考 http://www.cnblogs.com/edwardstudy/p/4133421.html 所谓的爬虫就是发送请求,并将响应的数据做一些处理 只不过不用浏览器来发送请求 需 ...
- 用rsync从Linux到Windows远程备份
论 rsync是Linux系统下的数据镜像备份工具,从软件的命名上就可以看出来 了——remote sync.rsync支持大多数的类Unix系统,无论是Linux.Solaris还是BSD上都经过了 ...
- java常用系统包介绍
java.applet提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类.java.awt包含用于创建用户界面和绘制图形图像的所有类.java.awt.colo ...
- MySQL性能调优的方法
第一种方法 1.选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快.因此,在创建表的时候,为了获得更好的 性能,我们可以将表中字 ...
- Css Rest 方法
在当今网页设计/开发实践中,使用CSS来为语义化的(X)HTML标记添加样式风格是 重要的关键.在设计师们的梦想中都存在着这样的一个完美世界:所有的浏览器都能够理解和适用多有CSS规则,并且呈现相同的 ...
- 转载ajax
写在前面的话: 用了很久的Asp.Net Ajax,也看了段时间的jquery中ajax的应用,但到头来,居然想不起xmlHttpRequest的该如何使用了. 以前记的也不怎么清楚,这次就重新完整的 ...
- 【SVN】使用花生壳映射VisualSVN外网地址
内网端口设置为443,花生壳映射设置的时候不能使用80端口,,需要用其他端口,,
- 【转载】设置event.cancelBubble,使触发子元素的onclick不同时触发父元素的onclick
由于HTML中的对象都是层次结构,比如一个Table包含了多个TR,一个TR包含了多个TD Bubble就是一个事件可以从子节点向父节点传递,比如鼠标点击了一个TD,当前的event.srcEleme ...
- MVC数据提交
关于请求方式(form表单) .form的几个属性 <form name="input" action="http://www.baidu.com" me ...