我正在VS 2010和.NET 4.0中开发WCF服务。
我正在创建app.config文件,我想指定一次服务器的基地址。
我已将其声明为appConfig部分:
<appSettings>
<add key="base_address" value="net.tcp://localhost:5050/Service1/"/>
</appSettings>
我想知道如何将该密钥引用到service / host / baseaAddressses中,如:
<service
name="WcfService_callbacks_tcp_auth_username.Service1"
behaviorConfiguration="beh_auth">
<host>
<baseAddresses>
<add baseAddress="!!!here_the_key!!!"/>
</baseAddresses>
</host>
</service>
在客户端/端点部分,如:
<client>
<endpoint address="!!!here_the_key!!!" binding="netTcpBinding"
bindingConfiguration="NetTcpBinding_IService1" contract="Service1.IService1"
name="NetTcpBinding_IService1">
<identity>
<certificate encodedValue="..." />
</identity>
</endpoint>
</client>
有没有这样做?
感谢。
答案 0 :(得分:1)
你无法开箱即用。
您可以在WCF配置中明确指定基本地址
<service
name="WcfService_callbacks_tcp_auth_username.Service1"
behaviorConfiguration="beh_auth">
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:5050/Service1"/>
</baseAddresses>
</host>
</service>
或者您从代码中的app.config
读取它并将其设置为WCF代码(客户端示例 - 在服务端,您需要在.AddServiceEndpoint()
上调用ServiceHost
) :
string customBaseAddress = ConfigurationManager.AppSettings["base_address"];
YourServiceClient proxy =
new YourServiceClient("NetTcpBinding_IService1", // endpoint name in config
customBaseAddress); // custom URL
您无法在app.config
中引用其他配置设置 - .NET配置系统不支持。