1、添加一个App.config配置文件。

2、配置服务http://Lenovo-PC:80/EvisaWS/WharfService?wsdl,那么在上面的文件中就会自动生成服务的配置:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="WharfWSBeanBinding" />
</basicHttpBinding>
</bindings>
<client> <endpoint address="http://Lenovo-PC:80/EvisaWS/WharfService"
binding="basicHttpBinding" bindingConfiguration="WharfWSBeanBinding"
contract="WharfService.WharfWSBean" name="WharfService" />
</client> </system.serviceModel>
</configuration>

3、动态添加新的地址,后面的?wsdl没有也可以: 

WharfWSBeanClient c = new WharfWSBeanClient("WharfService", "新的地址例如:http://192.168.1.194/EvisaWS/WharfService?wsdl");

4、新服务器的地址可以存放到注册表或者环境变量里面,下面是新存放到注册表,然后再存放到环境变量里,访问的时候先从环境变量里面获取:

  4.1 存到注册表:

RegistryKey key = Registry.LocalMachine.CreateSubKey(@"Software\Client");
key.SetValue("ip", "192.168.1.1");

  4.2 从注册表获取值:

            String ip =Environment.GetEnvironmentVariable("myconfigip");
if (ip == null || ip.Equals(""))
{
RegistryKey key = Registry.LocalMachine.OpenSubKey(@"Software\Client");
ip = key.GetValue("myip") as string;
Environment.SetEnvironmentVariable("myconfigip", ip);
}

  上面是先从环境变量里面取,如果没有则从注册表取,之后又存放到环境变量里,以后在进程内访问时直接从环境变量里面取就可以了。

  

C# 动态改变webservice的访问地址的更多相关文章

  1. extjs中第一次访问有效,第二次访问出现部分组件无法显示的,动态改变组件的label值的方法,ExtJs中组件最好少使用ID属性(推荐更多使用Name属性)

    在公司做的一个OA项目中,曾经就遇到了这样的一个问题:(我是在jsp中的div中将js render到div中去的)第一次访问此界面的时候,formpanel上的组件能正常显示,不刷新整个页面的前提下 ...

  2. 动态调用WebService(C#) (非常实用)

    通常我们在程序中需要调用WebService时,都是通过“添加Web引用”,让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务.这样是使工作简单了,但是却和提供Web服务的URL.方法名 ...

  3. 动态调用WebService(C#)

    通常我们在程序中需要调用WebService时,都是通过“添加Web引用”,让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务.这样是使工作简单了,但是却和提供Web服务的URL.方法名 ...

  4. 动态调用webservice(部分转载)

    动态调用webservice,做个笔记: public class WSHelper { /// < summary> /// 动态调用web服务 /// < /summary> ...

  5. C# 动态调用webservice

    最近项目中,用到动态调用webservice的内容,此处记录下来,留着以后COPY(我们只需要在XML,config文件,或者数据库中配置webservice连接地址和方法名即可使用): using ...

  6. 用C#通过反射实现动态调用WebService 告别Web引用

    我们都知道,调用WebService可以在工程中对WebService地址进行WEB引用,但是这确实很不方便.我想能够利用配置文件灵活调用WebService.如何实现呢? 用C#通过反射实现动态调用 ...

  7. [转]Net 下采用GET/POST/SOAP方式动态调用WebService C#实现

    本文转自:http://www.cnblogs.com/splendidme/archive/2011/10/05/2199501.html 一直以来,我们都为动态调用WebService方法而烦恼. ...

  8. .Net 下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#) [轉]Redfox

    一直以来,我都为动态调用WebService方法而烦恼.在.Net环境下,最常用的方法就是采用代理类来调用WebService,可以通过改变代理类的Url属性来实现动态调用,但当xmlns改变时就会出 ...

  9. 动态创建WebService

    WebService应用主要是为远程提供接口服务,远程通过代理方式获取WebService资源:但是在现实应用过程中,在Web或者应用程序中如果想用生成远程代理,一般是借助vs里提供的 添加-添加we ...

随机推荐

  1. TOJ 2119 Tangled in Cables

    描述 You are the owner of SmallCableCo and have purchased the franchise rights for a small town. Unfor ...

  2. 0.数据结构(python语言) 基本概念 算法的代价及度量!!!

    先看思维导图: *思维导图有点简陋,本着循循渐进的思想,这小节的知识大多只做了解即可. *重点在于算法的代价及度量!!!查找资料务必弄清楚. 零.四个基本概念 问题:一个具体的需求 问题实例:针对问题 ...

  3. js录制视频并保存

    使用webAPI录制视频 经测试, 只在谷歌和火狐浏览器里起效. 代码: const streamVideo = document.querySelector('.stream') const pla ...

  4. git每次提交都输入密码

    打开gitbash执行即可 git config --global credential.helper store 长期储存密码,因为git默认是不储存密码的,不执行这条命令的话每次更新代码,或者提交 ...

  5. Java Socket, DatagramSocket, ServerSocketChannel io代码跟踪

    Java Socket, DatagramSocket, ServerSocketChannel这三个分别对应了,TCP, udp, NIO通信API封装.JDK封装了,想跟下代码,看下具体最后是怎么 ...

  6. 深入Java字符串

    深入Java字符串     Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,很多时候,我们对它既熟悉又陌生.   一.从根本上认识java.lang ...

  7. mysql二:库操作

    一.系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等 performance_schema: My ...

  8. 富文本编辑框和防止xss攻击

    一.后台管理页面构建 1.创建后台管理url urlpatterns = [ ... # 后台管理url re_path("cn_backend/$", views.cn_back ...

  9. Android 实现电话录音(窃听)

    配置文件 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android=&qu ...

  10. Android NDK开发 网址

    http://www.cnblogs.com/shangdahao/archive/2013/05/01/3053146.html http://www.cnblogs.com/shangdahao/ ...