WCF 服务托管在 IIS 中并使用 netTCPRelayBinding
。
在某些位置,TCP 端口被阻止,必须使用 HTTP。其他时候 TCP 端口处于打开状态,首选此模式。
因此,我希望能够在web.config
文件中以声明方式将ConnectivityMode
设置为AutoDetect
(或仅 HTTP)。
对于自承载 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"])