Dynamic Set Up the Web Reference Url To WebService
如何根据不同环境配置相关的WebService地址?
我想在开发时大家经常会遇到此类的问题,你们一般处理是怎样的。
一般操作恐怕就是
根据不同环境的对WebService的WebReferenceUrl
1.手工更新
2.删除现有的Reference,然后进行再次引用新的Ref Url
3.etc..
这样的话,有一处不是非常方便,就是需要人工每次进行干预。
我现在的思路:
针对WebService的WebReferenceURL进行配置化,来适合不同环境的所需。
嗯,下面针对项目实际场景进行演示
在服务层
- ADD WebRefence
- URL Behavior从Static选成Dynamic
- 增加动态获取配置的WebService Url的方法(只要加载到调用WebService的地方,即可)
/// <summary> /// 服务实例单例类 /// </summary> public partial class ServiceInstance { /// <summary> /// PMS-ICRS /// </summary> /// <returns></returns> private static ICrs icrsInstance; public static ICrs ICrsService { get { if ( icrsInstance == null ) { GetUrlInAppConfig ( "ICrs" , "WebServiceUrl" ); <--如果不添加此语句,即WebService地址为当初默认添加的地址 icrsInstance = new ICrs (); } return icrsInstance; } }
/// <summary> /// 动态获取配置的WebService Url /// </summary> /// <param name="propertyName">属性名称</param> /// <param name="appName">AppSetting配置Key名称</param> internal static void GetUrlInAppConfig (string propertyName , string appName) { Settings.Default.Properties[propertyName].DefaultValue = ConfigurationManager.AppSettings[appName].ToString (); Settings.Default.Save (); Settings.Default.Reload (); }
}
- 在表现层的Config的AppSetting处增加相关配置
<!--WebService Url--> <add key="WebServiceUrl" value="http://XXXXXXXXXXXXXXX.asmx"/>
测试代码:
public class WebService { private ICrs pmsWs; /// <summary> /// 获取ICrsService实例 /// </summary> public WebService () { pmsWs = ServiceInstance.ICrsService; }
}
}
UI
public class UI{
public void InvokeWS(){
var target = new WebService (); <--此语句执行完之后,地址为:WebServiceUrl--即配置地址 string ID = "2011032"; string checkIn = "2010-07-12"; string checkOut = "2010-07-13"; var actual = target.GET( checkIn , checkOut , hotelID );
}
}
END
资料:
http://www.codeproject.com/KB/XML/wsdldynamicurl.aspx
转载于:https://www.cnblogs.com/RuiLei/archive/2010/07/12/1775888.html
Dynamic Set Up the Web Reference Url To WebService相关推荐
- VS2008中Web Reference和Service Reference的区别
很早就发现在vs2008中应用web service有两种方式,即Add Web Reference和Add Service Reference,但是一直不是很清楚这两者有什么区别.趁着今天有空实验一 ...
- 【转】Web Reference和Service Reference的区别
今天因为项目需要使用服务引用,就按之前的经验添加上了,步骤如下: 项目根目录--引用--右键--添加服务引用--高级--添加Web引用--输入接口的URL地址--回车(下方出现的就是接口的定义的方法) ...
- Web Reference和Service Reference的区别
今天因为项目需要使用服务引用,就按之前的经验添加上了,步骤如下: 项目根目录--引用--右键--添加服务引用--高级--添加Web引用--输入接口的URL地址--回车(下方出现的就是接口的定义的方法 ...
- 怎么实现Web系统URL传输(表单提交)参数加密-zhuan
using System; using System.Security.Cryptography; using System.IO; using System.Text; namespace EIP. ...
- zabbix添加对web页面url的状态监控
zabbix3.0.4添加对web页面url的状态监控 1.应用集配置 在配置->主机中打开主机列表,选择需要添加监控主机的web,创建应用集 2.web监测配置 选择web场景,再单击右上角 ...
- 获得Web目录URL
获得Web目录URL string strRoot = String.Format("http://{0}{1}",Request.Url.Host,Request.Applica ...
- Django基础-Web框架-URL路由
Django基础-Web框架-URL路由 一.Django基础–Web框架 MVC和MTV框架 MVC 把Web应用分为模型(M).视图(V).控制器(C)三层,他们之间以一种插件式的,松耦合的方式联 ...
- JAVA 取得当前目录的路径/Servlet/class/文件路径/web路径/url地址
2019独角兽企业重金招聘Python工程师标准>>> 在写Java程序时不可避免要获取文件的路径...总结一下,遗漏的随时补上 1.可以在servlet的init方法里 Strin ...
- [Web 开发] URL 的最大长度
Web开发的常见问题: "URL 的最大长度是多少?" 答案是: HTTP协议标准并没有规定URL的最大长度. RFC文档: http://www.w3.org/Protocol ...
- zabbix系列(八)zabbix添加对web页面url的状态监控
通过zabbi做web监控不仅仅可以监控到站点的响应时间,还可以根据站点返回的状态码,或者响应时间做报警 1.对需要监控的主机添加web监控 在configuration-hosts 中打开主机列 ...
最新文章
- 2020 年,让 OKR 助力你稳住 flag 清单!
- iis应用程序池不能启动
- 网络安全 / crt、pem、pfx、cer、key 作用及区别
- hadoop 写入mysql_使用MapReducer将文件写入mysql 数据库
- GetAdaptersInfo获取MAC地址
- Minify框架分析,主要功能类简介
- CSDN的MarkDown编辑器插入图片时调整大小
- mysql 配置多个数据库连接_SpringBoot多数据库连接(mysql+oracle)
- mysql grant show_【汇总】mysql常用操作【grant,show】
- Swift 5用Template自动创建VIPER架构代码
- update set命令用来修改表中的数据
- 详解缠中说禅走势中枢
- python倒计时弹框提示带注释_注意时间用python制作倒计时提醒工具
- QT遍历 Json 根节点
- Spring中AOP的实现原理
- https://blog.csdn.net/Darryl_Tang/article/details/80545688
- WSL和双系统Ubuntu的CPU性能差异
- 靶机渗透日记 noob
- 走进JavaWeb技术世界9:Java日志系统的诞生与发展
- 【IMWeb训练营作业】- 作业3:仿readhub.me
热门文章
- CUDA的内存泄露问题及解决办法
- 构建与服务器的JDK版本不同,导致服务器不能工作
- 初探socket 报式
- board crt_容器编排系统K8s之Dashboard部署
- windows dll 学习
- python的raw_对于Python中RawString的理解(引用)
- 基于linux的进程调度模拟程序,2011180021_Linux操作系统_课程设计报告_基于Linux的进程调度模拟程序...
- python transform hive_Hive使用TRANSFORM运行Python脚本总结
- sql server 用户创建与权限管理
- 阿里云数据传输服务低价不低质,服务再升级 1