开发环境:Win7 32位,开发工具:VS2013,.Net:4.0

初用WebService,很多地方都搞不清楚怎么回事,但稍作研究之后,也就用上了,根本就没有考虑后续事情。

但是,随着项目的进行,到了该考虑部署的时候,问题来了:WebService需要部署到多个服务器,且每个服务器互相独立,IP地址各不相同,而在添加引用的时候,地址是写死的,怎么办呢?

网上找了一些例子 ,有在ServiceSoapClient初始化时赋值地址的,也有动态创建引用的。

先说ServiceSoapClient初始化时赋值地址,这个看起来最简单,只要一句代码就可以:

this.service = new RADIServiceReference.ServiceSoapClient("ServiceSoap", "http://192.168.1.125/comeon.asmx");

前提是,要右键添加的引用,然后属性,把获取URL设为自动(这是从网上看的),可是,在我添加的引用里面,右键属性,根本就没有相关的设置,不知是VS的问题还是.net版本的问题,还是我打开的姿势不对,于是就放弃从属性下手,直接改配置文件里面的ip,但仍然无效,提示的错误是原来的地址(之前使用过其他ip)……总之是无从下手。

然后说第二种方法,动态创建WebService引用:

这种方法网上很多人都写了Demo,我就不再重复了。我要说的是,我最开始怀着“先不考虑性能,只要能实现功能就行的心态”去临摹这些Demo,到后来发现,用起来实在太费劲了,想调用自己的service里面的方法实在太复杂了,o(╯□╰)o,我很懒……

之后继续网上找解决方案, 不经意间看到了右键ServiceSoapClient然后“转到定义”,解说了一番上面第一种方法。出于好奇,我也在自己的工程里面转到定义进入reference.cs看了一眼,这也算是机缘吧,终于发现了问题所在,service.cs文件里面的namespace有问题,之前我为了区分方便,直接用的本机ip加端口号(ip是写死的)。接下来把发布的网站里面的service.cs里面的namespace改为扑通的字符串,reference.cs里面也对应替换,然后再重试第一种方法——OK!至于为什么会受到namespace的影响,我不知道!——不求甚解的我……

暂时先记录这么多,继续干活了……

【Web学习日记】——C#引用WebService,从配置文件改变引用地址的更多相关文章

  1. 【Web学习日记】——在IIS上发布一个WebService

    没有开发过程,只是发布过程 一.前提 开发使用的是VS2013 从来没有做过Web的发布,在网上找例子,看到的总是与自己的情况不相符,而且也有人提出了VS2013发布网站的问题,但解决方案却很少,好不 ...

  2. [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

  3. Java Web学习系列——Maven Web项目中集成使用Spring

    参考Java Web学习系列——创建基于Maven的Web项目一文,创建一个名为LockMIS的Maven Web项目. 添加依赖Jar包 推荐在http://mvnrepository.com/.h ...

  4. android学习日记03--常用控件Dialog

    常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Bui ...

  5. Zend Framework学习日记(2)--HelloWorld篇(转)

    Zend Framework学习日记(2)--HelloWorld篇 这一篇主要演示如何用zf命令行工具建立一个基于Zend Framework框架的工程,也是我初学Zend Framework的小练 ...

  6. ASP.NET动态引用WebService接口

    尊重原著作:本文转载自http://www.mhzg.net/a/20124/20124912180589.html 有经验的朋友都知道,通常我们在引用webservice的时候,是在项目中就添加了引 ...

  7. jackson学习之九:springboot整合(配置文件)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 系列文章汇总 jackson学习之一:基本信息 jac ...

  8. Java Web 学习路线

    实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...

  9. Web学习之css

    CSS指层叠样式表(Cascading Style Sheets),CSS 是标准的布局语言,用来控制元素的尺寸.颜色.排版.CSS 由 W3C 发明,用来取代基于表格的布局.框架以及其他非标准的表现 ...

随机推荐

  1. python用装饰器实现缓存函数执行结果

    根据调用的函数名和调用的参数,对函数的结果进行缓存,下次执行的时候就不用重复计算   可以用装饰器来实现   import time import hashlib import pickle cach ...

  2. 友盟分享各平台URL设置

    首先,想要进项友盟分享,需要到各平台去申请ID和KEY 比如想进行微信分享,就到微信开发者平台去创建应用,拿到对应的id和appScreat,然后进行设置: 参考资料

  3. Oracle基础 PL-SQL编程基础(4) 异常处理

    异常处理: 即使良好的PL-SQL程序也会遇到错误或者未预料的事件,一个优秀的程序都应该能够处理各种出错情况,尽可能的从错误中恢复.程序在运行时出现的错误成为异常.发生异常后,语句讲终止执行,PLSQ ...

  4. Oracle 11g R2 for Win7旗舰版(64位)的安装步骤

    1.下载Oracle 11g R2 for Windows的版本 下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/ ...

  5. Windows防火墙出站、入站相关知识总结

    出站默认是全部允许,只禁止相关出站规则指定的条目:入站默认是全部禁止,只允许相关入站规则指定的条目. 入站规则其实没什么好说的,直接添加规则允许某IP或端口访问,或允许某程序全部访问,就行了. 要控制 ...

  6. 关于JPA方法名创建自动查询

    JPA 的根据解析方法名称自动对接口进行实现的方法能节省大量的资源,以下对于解析规则进行列举哈 商品实体类 package com.dionren.zhaoxie.entity.trade; impo ...

  7. BZOJ 3043

    Description 给定一个长度为n的数列{a1,a2...an},每次可以选择一个区间[l,r],使这个区间内的数都加一或者都减一.问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最 ...

  8. Python之时间统计

    1. import time start_time = time.time() print('time %ds'%(time.time() - start_time))

  9. 地图 ajax-数据库

    通过数据库和ajax方法写出地图 客户端部分:html.js.css代码部分: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transit ...

  10. java 获取数组(二维数组)长度实例程序

    我们可能知道 js有个length函数,java也有啊length函数 例 如果数组是data[],则data.length 代码如下 复制代码 byte[] phone =new byte[81]; ...