【问题标题】:Change storage location of a web service endpoint更改 Web 服务端点的存储位置
【发布时间】:2011-02-24 18:28:14
【问题描述】:

我有一个从提供的 WSDL 生成的基本 SOAP 服务。 WSDL 指定连接端点,该端点在 Web 服务中复制为应用程序级别的 Settings.settings 文件中的条目,因此复制到项目的 app.config 中的 AppSettingsGroup 中。

问题是双重的:

  1. 这个项目(它不是解决方案的主要项目)有一个自己的 app.config,唯一的原因是;否则只有主 exe 的配置。

  2. 为生产环境构建时,端点必须更改。目前,我必须与我的主要配置更改(我已经设置了可以轻松切换的 configSource 位置)分开更改此设置。

将端点设置从设置文件中的条目移动到主配置布局中的 appSetting 将是理想的。然后,在为生产构建时,我所要做的就是在整个项目中的一个位置“稍微翻转一下”,应用程序现在指向生产环境。但是,Web 服务中的引用是生成的代码。有没有办法为此设置指定一个自定义位置,如果/当我刷新服务时不会被吹走?

【问题讨论】:

    标签: .net web-services


    【解决方案1】:

    在您的代码中实例化自动生成的代理类时,您可以设置 Url 属性:

    string url = ConfigurationManager.AppSettings["fooUrl"];
    using (var client = new AutoGeneratedServiceClient { Url = url })
    {
        client.SomeMethod();
    }
    

    然后您可以将 url 存储在您的主配置文件中。

    【讨论】:

    • 没想到;它可以工作,但我仍然有这个无用的 app.config 我必须拥有,因为如果默认构造函数的设置不存在,则在初始化程序设置属性之前,服务的默认构造函数将会失败。
    猜你喜欢
    • 2013-07-21
    • 2013-07-06
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    相关资源
    最近更新 更多