wcf - 如何以声明方式配置 ServiceBusEnvironment 连接模式

标签 wcf iis azure azure-servicebusrelay nettcprelaybinding

WCF 服务托管在 IIS 中并使用 netTCPRelayBinding .

在某些位置,TCP 端口被阻止,必须使用 HTTP。其他时候 TCP 端口打开,并且首选此模式。

因此,我希望能够设置 ConnectivityModeAutoDetect (或仅 HTTP)以声明方式在 web.config 中文件。

对于自托管 WCF,这很容易完成:

ServiceBusEnvironment.SystemConnectivity.Mode = ConnectivityMode.AutoDetect;

如何在 web.config 中以声明方式完成此操作?

最佳答案

目前此设置没有配置元素,但是在您的 web.config 中您可以使用 AppSettings 来设置该值

<appSettings>
   <add key="ServiceBusConnectivityMode" value="Http" />
</appSettings>

在代码中,您将读取键值并将其解析为枚举值

ServiceBusEnvironment.SystemConnectivity.Mode = (ConnectivityMode)Enum.Parse(typeof(ConnectivityMode), ConfigurationManager.AppSettings["ServiceBusConnectivityMode"])

关于wcf - 如何以声明方式配置 ServiceBusEnvironment 连接模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13571254/

相关文章:

c# - 在 C# 中创建自定义绑定(bind)

windows - 如何在自托管的WCF中获取多部分表单数据?

asp.net - 如何使用配置设置在服务器启动时自动启动 WCF Windows 服务

xml - 使用 Biztalk WCF-WebHttp 适配器调用 REST API 以获取 CSV 数据

asp.net-mvc-4 - HTTP 错误 404.3 未找到

sql-server - Azure 逻辑应用程序 - Twitter 和 MS SQL 连接器问题

.net - ASP.Net:添加额外要监控的文件以触发 AppDomain 回收

Azure WebRole + Flask : AttributeError: 'module' object has no attribute 'wsgi_app'

Azure 操作返回无效状态 'Conflict'

azure - 第二个 ConversationUpdate 事件将在用户第一次输入之后发生?