Web项目的类库中引用WebService,在部署后动态配置WebService路径的方法

   通常我们的项目调用WebService都是在Web项目中,VS2005会在Web.config中自动生成如下的配置,方便在部署后动态更改:
     < applicationSettings >
        
< WebTest .Properties.Settings >
            
< setting  name ="WebTest_Service1_Service1"  serializeAs ="String" >
                
< value > http://localhost/WebService/Service1.asmx </ value >
            
</ setting >
         </ WebTest.Properties.Settings >
    
</ applicationSettings >


  目前做“XXX三期3.2”的开发时,在“XXX.XXX.Business”中调用了XXX的WebService,但对于类库项目,其如上的配置信息是生成在app.config中的,那么,如何将其做成动态可配置的呢?

  通过实验,总结了三种实现方法:
1、将app.config中的配置信息拷贝到Web.config中,这是最简单的一种方法;
2、在WebService调用时临时指定Url,这也是一种可用方法;
3、我希望使用统一参数配置组件的CommonConfig.xml来定义待调用的WebService路径,又不想在程序中临时指定Url,为此,从网上找了一种看起来比较优雅实则费力不讨好的编程实现方法。:)
  1)在“XXX.XXX.Business”中新建类WebServiceConfig,定义如下方法:

         public   static   void  AutoBuildConfig()
        
{
            Properties.Settings.Default.Properties[
"XXX_XXX_Business_XXXMailService_MailService"].DefaultValue
                
= ConfigHelper.GetParameterValue("XXXMailServiceUrl");

            Properties.Settings.Default.Save();
            Properties.Settings.Default.Reload();
        }

  2)在Web项目的Global的Application_Start中调用上面的方法:WebServiceConfig.AutoBuildConfig();
  这样,也实现了WebService路径的动态配置,还可通过参数配置的管理页面进行管理。可惜,还是要重启Web才能生效,倒不如第2种方法的实时性强。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值