欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)

程序员文章站 2024-03-05 10:31:54
这个问题其实并没有我想像的那个复杂,我们都知道怎么直接修改吧,那就是修改webconfig文件的配置节具体的方法看下面图片 这个相信很多人都知道,直接修改就行了动态修...

这个问题其实并没有我想像的那个复杂,我们都知道怎么直接修改吧,那就是修改webconfig文件的配置节
具体的方法看下面图片

asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)

这个相信很多人都知道,直接修改就行了
动态修改方式
----------------------------------------------------------
那么怎么动态修改呢?
我想可能很多人都会这样讲,修改webconfig文件,有专用的帮助类,也可以自己写因为webconfig是可以xml的形来编辑的,对的这种方法确实是可行的
那么我告诉你们,你们错了,有更简单而且更适合的方法
方法如下
大家使用webservice的第一步应该是创建对象吧
是不是这样,看下面代码

//web服务对象    webreference.service1soapclient objservice = new webreference.service1soapclient();
如果你细心一点的话,右建这个构造方法查看一下转到定义试试

asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)

这是转到定义之后最上面的五个方法大家来看一下吧

asp.net(c#)动态修改webservice的地址和端口(动态修改配置文件)

对就是有这样五个自动生成的方法

复制代码 代码如下:

public service1soapclient();       
public service1soapclient(string endpointconfigurationname);
public service1soapclient(binding binding, endpointaddress remoteaddress);
public service1soapclient(string endpointconfigurationname, endpointaddress remoteaddress);
public service1soapclient(string endpointconfigurationname, string remoteaddress);

大家一起看一下第四个方法和第五个方法
我解释一下
复制代码 代码如下:

//endpointconfigurationname 配置节的名称,remoteaddress配置节对象
public service1soapclient(string endpointconfigurationname, endpointaddress remoteaddress);
//endpointconfigurationname 配置节的名称,remoteaddress配置节url       
public service1soapclient(string endpointconfigurationname, string remoteaddress);        //设置其它参数

对就是这两个方法,我们只要修改第五个就行了,
使用方法如下
//web服务对象
复制代码 代码如下:

webreference.service1soapclient objservice = new webreference.service1soapclient("service1soap","你要修改的url例如:http://www.cckan.net/webservices.asmx");

问题解决了,我们只要动态配置一下这个参数就行了,具体方法相信大家都会了,存储在数据库或者别的地方都是可以的。
不要再傻者去搞配置文件了,webservice本身就有修改的方式

本文出自: 作者:苏飞