如何修改 webservice里面的参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何修改 webservice里面的参数相关的知识,希望对你有一定的参考价值。

参考技术A 在应用程序中添加配置文件(如Winform的一般是app.config,webform的一般是web.config),在<appSettings>目录下添加一个配置WebService引用地址的节点,如:<add key="webServiceAddr" value="http://192.168.1.105:800/TestWebService.asmx?wsdl"/>
.在应用程序中应用private void button1_Click(object sender, EventArgs e)string result = string.Empty;string serviceAddr = string.Empty;tryserviceAddr = System.Configuration.ConfigurationManager.AppSettings["webServiceAddr"].ToString();//此处调用的是我们自己定义的构造函数,参数为WebService引用的地址ServiceCenter.TestWebService webService = new WebServiceApp.ServiceCenter.TestWebService(serviceAddr);result = webService.Test();catch (Exception ex)result = ex.Message;MessageBox.Show(serviceAddr + "++++" + result);
在Winform应用程序中,app.config等应用程序配置文件在生成的时候自动生成到了bin目录下面的应用程序名.exe.config文件,修改里面的webServiceAddr节点即可。需要注意的一点就是,如果生成的时候把app.config文件也生成到了bin目录下,此时修改app.config里面的配置是无效,还必须得修改(应用程序名.exe.config)这个文件。如果是把webservice引用地址放在自定义的的xml文件中,则生成到bin目录下,响应bin目录下的xml文件即可。
4
//Web服务对象
WebReference.Service1SoapClient objService = new WebReference.Service1SoapClient("Service1Soap","你要修改的URL例如:http://www.xxxx/webservices.asmx");
我们只要动态配置一下URL就行了,存储在数据库、XML或者。别的地方都是可以的。

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的引用路径

以上是关于如何修改 webservice里面的参数的主要内容,如果未能解决你的问题,请参考以下文章

如何向Webservice里传递类参数

如何解决WebService参数传递中文的问题

WebService初入

WebService学习总结

webservice实用技术

用c#编写webservice时,如何获取调用它的httpwebrequest中?后面的参数 非常感谢。