要回答这些问题:
我们进行了一些测试,发现当我们在 IIS 中添加绑定时,它不会更新我们服务的配置文件。这意味着我们需要在两个不同的地方维护配置。这不是逻辑,对吧?
当您使用 IIS 托管您的服务时,您必须配置您的 App.config 文件或 web.config 文件以允许 IIS 公开一些绑定,因此在您的配置文件中,您将把您允许的所有绑定放入您的 wcf 服务。Http、net.tcp 等...
在您的绑定中,您不会指定地址,因为您将直接在 IIS 中指定这些地址。
在 IIS 中,您必须在网站的高级设置中允许绑定可用。之后,您将为您的网站“Web 服务”设置新的绑定,并添加您想要监听的每个绑定,并指定地址。
您将直接在 IIS 中指定地址。
有一个例子。
你的配置文件:
<services>
<service name="ServiceName">
<endpoint address=""
binding="basicHttpBinding"
bindingConfiguration="httpMode"
contract="IContract" />
<endpoint address=""
binding="netTcpBinding"
contract="IContract" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
在您的 IIS 高级设置中,您将放置
启用协议中的 http,net.tcp
之后,您将绑定到 IIS。将您的绑定为 http normaly 并添加一个新的绑定 net.tcp,在绑定配置中放置端口和虚拟目录,如
8001:*
此设置允许所有连接到任何虚拟目录的 8001 端口。
您还必须在您的服务器上安装“WCF 激活,(Http 激活和非 Http 激活)”功能。