【问题标题】:How can I set a WCF service base address port number dynamically in app.config?如何在 app.config 中动态设置 WCF 服务基地址端口号?
【发布时间】:2013-07-27 14:58:15
【问题描述】:

我目前有一个netTcpBinding 端点正在侦听端口 8000。

我已经像这样在app.config文件中配置了基地址

net.tcp://*:8000/TestProject/Service

这按预期工作,服务侦听端口 8000。

我的问题是该服务将部署在第三方机器上,我担心端口冲突(并且在尝试打开已被另一个应用程序使用的端口时遇到System.Net.SocketException)。

可以处理异常并使用IPGlobalProperties 在代码中查找可用端口以使用空闲端口重新创建基地址,但我希望有一种方法可以指示 WCF 使用app.config 设置中的动态端口。

客户端连接不需要知道预定义的端口号,因为它们使用 WS-Discovery 来查找服务器端点。

【问题讨论】:

    标签: c# wcf port app-config nettcpbinding


    【解决方案1】:

    你可以在你的 app.config 中添加这个。

    <appSettings>
       <add key="Port" value="8000" />
    </appSettings>
    

    并在代码中读出

    string port = ConfigurationManager.AppSettings["Port"];
    

    在你读取端口后,你必须创建 url。

    【讨论】:

      猜你喜欢
      • 2013-09-14
      • 2019-09-25
      • 2010-11-01
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多