【Web学习日记】——C#引用WebService,从配置文件改变引用地址
开发环境: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,从配置文件改变引用地址的更多相关文章
- 【Web学习日记】——在IIS上发布一个WebService
没有开发过程,只是发布过程 一.前提 开发使用的是VS2013 从来没有做过Web的发布,在网上找例子,看到的总是与自己的情况不相符,而且也有人提出了VS2013发布网站的问题,但解决方案却很少,好不 ...
- [原创]java WEB学习笔记98:Spring学习---Spring Bean配置及相关细节:如何在配置bean,Spring容器(BeanFactory,ApplicationContext),如何获取bean,属性赋值(属性注入,构造器注入),配置bean细节(字面值,包含特殊字符,引用bean,null值,集合属性list map propert),util 和p 命名空间
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- Java Web学习系列——Maven Web项目中集成使用Spring
参考Java Web学习系列——创建基于Maven的Web项目一文,创建一个名为LockMIS的Maven Web项目. 添加依赖Jar包 推荐在http://mvnrepository.com/.h ...
- android学习日记03--常用控件Dialog
常用控件 9.Dialog 我们经常会需要在Android界面上弹出一些对话框,比如询问用户或者让用户选择.这些功能我们叫它Android Dialog对话框 对话框,要创建对话框之前首先要创建Bui ...
- Zend Framework学习日记(2)--HelloWorld篇(转)
Zend Framework学习日记(2)--HelloWorld篇 这一篇主要演示如何用zf命令行工具建立一个基于Zend Framework框架的工程,也是我初学Zend Framework的小练 ...
- ASP.NET动态引用WebService接口
尊重原著作:本文转载自http://www.mhzg.net/a/20124/20124912180589.html 有经验的朋友都知道,通常我们在引用webservice的时候,是在项目中就添加了引 ...
- jackson学习之九:springboot整合(配置文件)
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 系列文章汇总 jackson学习之一:基本信息 jac ...
- Java Web 学习路线
实际上,如果时间安排合理的话,大概需要六个月左右,有些基础好,自学能力强的朋友,甚至在四个月左右就开始找工作了.大三的时候,我萌生了放弃本专业的念头,断断续续学 Java Web 累计一年半左右,总算 ...
- Web学习之css
CSS指层叠样式表(Cascading Style Sheets),CSS 是标准的布局语言,用来控制元素的尺寸.颜色.排版.CSS 由 W3C 发明,用来取代基于表格的布局.框架以及其他非标准的表现 ...
随机推荐
- hdu 1228 A+B 字符串处理 超级大水题
中文意思不解释. 很水,我本来想用switch处理字符串,然后编译不通过...原来switch只能处理整数型的啊,我都忘了. 然后就有了很挫的一大串if代码了... 代码: #include < ...
- Linux中的特殊权限粘滞位(sticky bit)详解
Linux下的文件权限 在linux下每一个文件和目录都有自己的访问权限,访问权限确定了用户能否访问文件或者目录和怎样进行访问.最为我们熟知的一个文件或目录可能拥有三种权限,分别是读.写.和执行操作, ...
- 算法java(Robert Sedgewick)基本API-StdOut.java
/************************************************************************* * Compilation: javac StdO ...
- 对象(类)的封装方式(面向对象的js基本知识)
上一个月一直忙于项目,没写过笔记,今天稍微空下来了一点 前几天在写项目的时候关于怎么去封装每一个组件的时候思考到几种方式,这里总结一下: 1.构造函数方式(类似java写类的方式):把所有的属性和方法 ...
- 把当前时间(NSDate)转为字符串 - 获取当前时间的Day
1.把当前时间转为字符串 (NSDate与北京时间相隔8小时,格式化之后就是北京时间) NSDate *date = [NSDate date]; NSDateFormatter *dateForma ...
- 使用ambari搭建Hadoop平台
1.操作系统 CentoOS Server with GUI(有GUI,有浏览器*ambari基于浏览器*推荐latest stable version)2.分区 默认 + /hadoop3.网络设置 ...
- TransmitFile下载文件(部分转载)
例子代码: public void Down() { TransmitFile(@"/File/KBPub.zip"); } public void TransmitFile(st ...
- Jquery 根据value值设置下拉列表(select)默认选中项
方法一: $("#selIndustyType option[value='1']").attr("selected", "selected" ...
- CSS之Document方法的使用
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- jQuery$命名冲突问题解决方法
也许你在看此文章之前还不知道jquery有一个noConflict()东西了,它就是为了避免与其它js插件碰到相同变量的一个解决方法,利用noConflict()可以把变量存到其它指定的变量中去如,我 ...