一尘不染

如何以编程方式修改WCF app.config端点地址设置?

c#

我想以编程方式修改我的app.config文件以设置应使用哪个服务文件端点。在运行时执行此操作的最佳方法是什么?以供参考:

<endpoint address="http://mydomain/MyService.svc"
    binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IASRService"
    contract="ASRService.IASRService" name="WSHttpBinding_IASRService">
    <identity>
        <dns value="localhost" />
    </identity>
</endpoint>

阅读 332

收藏
2020-05-19

共1个答案

一尘不染

我认为您想要的是在运行时换出一个版本的配置文件,如果这样,请创建一个配置文件的副本(也给它一个相关的扩展名,如.Debug或.Release),该副本应具有正确的地址(为您提供)调试版本和运行时版本),并创建一个后构建步骤,该步骤将根据构建类型复制正确的文件。

这是我过去使用过的postbuild事件的示例,该事件使用正确的版本(调试/运行时)覆盖输出文件

copy "$(ProjectDir)ServiceReferences.ClientConfig.$(ConfigurationName)" "$(ProjectDir)ServiceReferences.ClientConfig" /Y

其中:$(ProjectDir)是配置文件所在的项目目录$(ConfigurationName)是活动配置构建类型

编辑: 请参阅Marc的答案以获取有关如何以编程方式执行此操作的详细说明。

2020-05-19