【问题标题】:Setting variables in web config for web service consumption在 Web 配置中设置变量以使用 Web 服务
【发布时间】:2010-04-06 16:04:09
【问题描述】:

我对此进行了几次谷歌搜索,但没有找到任何东西,所以我想我会在这里问。

我正在处理我们的内部 CMS,我注意到我们在进行调试时会返回实时数据,因为我们的 Web 服务而不是我想要的开发数据。它不会在我们的开发 CMS 网站上执行此操作,但我们正在尝试在 localhost 上进行所有开发。有什么方法可以在我们的 Web 配置中为 URL 设置环境变量,以便 CMS 指向 dev 数据库,而不是 wsdl 文件中引用的实时数据库?

【问题讨论】:

    标签: asp.net web-services


    【解决方案1】:

    您可以使用 web 配置的 appSettings 部分来获取配置信息。

    在 Web.config 的配置部分,您将找到 appSettings 部分:

      <appSettings>
        <add key="Key" value="Some Value"/>
      </appSettings>
    

    在代码中,您可以像这样读取值:

    var someValue = ConfigurationManager.AppSettings["Key"];
    

    【讨论】:

      【解决方案2】:

      +1 表示 Dan 存储 URL 的方法。要在运行时使用此 URL,只需使用 web.config 中的值更新 Web 服务代理对象的 URL 属性。

      MyClientClass o = new MyClientClass();
      o.Url = varFromWebConfig;
      o.MyWebMethod();
      

      【讨论】:

        【解决方案3】:

        实际上,我的一位同事提出了另一种解决此问题的方法,这对我来说似乎更好:在服务器端修复它,而不是像我一直在尝试并在此处建议的那样在客户端修复它。他的建议是在我们所有的服务器上的 IIS 中创建一个指向 Web 服务文件夹的子域,然后将适当的 Web 服务器的主机文件放在我的本地计算机上。这对我来说似乎是理想的解决方案,因为它不需要像客户端解决方案那样更改所有当前的 Web 服务代理对象,只需更改 App_WebReferences 中的 Web 服务消耗。

        【讨论】:

          猜你喜欢
          • 2012-11-26
          • 2011-04-07
          • 1970-01-01
          • 1970-01-01
          • 2010-12-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-16
          相关资源
          最近更新 更多