开发环境: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. webSocket开源框架:SocketRocket 简单的使用

    需要用到webSocket,所以搜集了一下使用方法, git下载地址:square/SocketRocket gitHUB 上没有看懂,就要 cocoaPod 导入了 socketRocket 导入这 ...

  2. Oracle 基础 <1> --存储过程

    一.子程序 子程序是已命名的PL/SQL块,它们存储在数据库中,可以Wie它们指定参数,可以从任何数据库客户端和应用程序中调用它们.子程序包括存储过程和函数. 子程序包括: 1.声明部分:声明部分包括 ...

  3. NIS客户端限制用户登录

    公司所有账号信息由一台 NIS Server 统一管理,但是有几台 NIS Client 只允许某几个用户登录.这里通过PAM机制来实现该需求. 1. 需要配置的文件 (/etc/pam.d/目录下) ...

  4. X86汇编语言中的registers相关

    0.写在前面 本文中总结于王爽老师的汇编语言,建议有兴趣的都买一本,以支持王爽老师的辛勤付出.再者,这本书写的确实很nice. 8086CPU共有14个registers:AX, BX, CX, DX ...

  5. dfa最小化,修正了上个版本的一些错误。

    上个版本测试的时候,只用了两个非常简单的测试用例,所以好多情况有问题却没有测试出来 bug1:在生成diff_matrix的时候,循环变量少循环了一次,导致最后一个节点在如果无法与其他点合并的情况下, ...

  6. POJ 1308 Is It A Tree? (并查集)

    Is It A Tree? Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 24237   Accepted: 8311 De ...

  7. popToViewController的用法(跳转到你想跳转到的那个控制器)

    [self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIn ...

  8. echo,printr,print_r之间的区别

    echo 返回值是void,可以一次输出多个值,多个值之间用逗号分隔.echo是语言结构(language construct)也就是关键字,而并不是真正的函数,因此不能作为表达式的一部分使用.使用的 ...

  9. 微信小程序个人理解

    1:小程序不是用HTML5开发,它是由微信全新定义的规范,是基于XML+JS的,不支持也不兼容HTML,兼容受限的部分CSS写法.(wxml) weixin markup language 2:小程序 ...

  10. 手把手教你认识并搭建Nginx

    手把手教你认识并搭建Nginx Nginx (“engine x”) 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Igor ...