C# winform 如何引用webservices

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# winform 如何引用webservices相关的知识,希望对你有一定的参考价值。

“部署到外网IIS后,有一个访问的地址,可以浏览WebService的
在winform里面引用WebService,WebService地址最好采用动态的,这样项目部署会很容易,不需要修改程序,重新编译。”
上面是别人的原话,我想问一下,这个“采用动态”的,该如何实现?
如何设置配置文件,又如何读取呢?
添加web引用后,会生成一个app.config文件,但是生成解决方案后,并没有这个文件,是不是要把这个app.config手工移动到debug下面? 那这个app.config该如何读,我发现和网站的配置文件内容不一样啊
有一个文件 软件名.exe.config
这个也有URL,但是设置了没作用,这是做什么的?

[[[[[lanehlj]]]]] 如果web services 的地址换了呢?难道还的重新编辑程序?
------------------
beitar_163 如何读取app.config ? appconfig该如何写呢?

webService是指在网络环境里发布可用组件的方式,关于如何定位组件的位置和功能部分,原理是靠内置的XML文件来确定。你说的动态地址,是指为了防止别人攻击webservice组件服务器而定制的方式,同时也是为了隐藏组件的实际地址而设定的,这个其实可以通过动态域名来实现,也就是说可以用域名指向,在域名向地址转换的过程中,可以动态地址,这样就无法知道实际的地址所在了,加强了保密性。
关于如何配置和读取webService,首先你需要建立一个webservice,然后在服务器上发布,你再用一个电脑作为域名服务器,你在客户端电脑上,调用指向域名的时候,他会自动列出已经发布可以的webService,然后你引用就可以了。大概的格式就是 域名+组件封装名+组件名称

引用后就和调用本地的组件一样使用,很方便的。实际的逻辑部分是指远程的webservice服务器上。

不需要动app.config,程序自己会自动导入,其实是用wsdl文件导向的,如果你引用的webservice的ip地址或者域名换了,那就需要重新导入了。
参考技术A 将webservice地址写如app.config,程序中引用地址时从app.config获取地址,制作安装部署文件的时候,将app.config一起打进去,这样以后就可以只改app.config配置文件,无需再编译。除此之外别无他法实现你所谓的动态。 参考技术B 在项目的“引用”上点击右键,选择“添加web引用”,然后按照提示把你要引用的webservices的地址添加进来就可以了,你就可以通过命名空间进行引用了。 参考技术C 建议你看一下C#里如何操作app.config(与asp.net的web.config操作方式相同),可以用ConfigurationManager来访问,一般来说,你这种需求可以采用appSettings来配置,例如:
<add key="ServicesURL" value="http://localhost/xxxx.aspx"/>
然后程序中,通过:
ConfigurationManager.AppSettings["ServicesURL"].ToString()来获取该值。以后要变更的话,就直接改变app.config里的value值即可。

这是最简单的方法。

还可以继承ConfigurationSection来实现,具体的可以Google一下。本回答被提问者采纳
参考技术D 动态设置,WebService的引用路径

以上是关于C# winform 如何引用webservices的主要内容,如果未能解决你的问题,请参考以下文章

C# winForm添加webservice接口

winform调用webservice方法

C# winform 调用webservice 设置 Timeout 参数没效果

vs2005winform项目中如何创建web servers

winform调用webservice假死怎么解决

如何在C#中webservice调用方法总结