我该如何通过TCP端口托管WCF服务,以及如何监听并通过这些TCP端口使用服务?
也就是说,除了net.tcp绑定外,是否有其他方式可以使用TCP端口进行托管和消费?
我该如何通过TCP端口托管WCF服务,以及如何监听并通过这些TCP端口使用服务?
也就是说,除了net.tcp绑定外,是否有其他方式可以使用TCP端口进行托管和消费?
Open
来自行托管任何服务。这被称为自托管,因为您从自己的应用程序中托管服务(以及其端口侦听器)。也许这可以帮助
<services>
<service behaviorConfiguration="configname"
name="servicename">
<endpoint address="" binding="netTcpBinding" bindingConfiguration="MyServiceBinding"
name="NetTcpBindingEndpoint" bindingName="MyServiceBinding"
contract="Interface">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="customBinding" bindingConfiguration="myMexTcpBinding"
name="MexTcpBindingEndpoint" contract="IMetadataExchange" />
<host>
<baseAddresses>
<add baseAddress="net.tcp://localhost:prot/TestService" />
</baseAddresses>
</host>
</service>
</services>
从配置文件(或代码)中配置服务以在所需端口上运行:
<service name="WCFService" behaviorConfiguration="DefaultBehaviour">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/WCFService" />
</baseAddresses>
</host>
<endpoint address="mex" binding="mexHttpBinding" bindingConfiguration="" name="WCFService_mexEndpoint" contract="IMetadataExchange" />
<endpoint address="" binding="wsHttpBinding" bindingConfiguration="DefaultBinding" name="WCFService_Endpoint" contract="WCFService.IService1" />
在IIS中创建一个网站(或虚拟目录),并将其绑定配置为在您的baseAddress服务配置中选择的端口上运行(对于上面的示例,为8000)。
我知道有点晚了.. 但是,我想你可以使用Visual Studio附带的"WCF服务主机"应用程序。
你可以使用任何端口(前提是你有它的权限)来托管你的WCF服务。在使用IIS托管WCF服务时,有些不同,但在自托管环境中,只需将端口号添加到基地址即可完成。(当使用Vista或Server 2008时,如果没有管理员权限运行(例如使用netsh),则必须授予对端口的访问权限)
要使用例如1337端口提供HTTP服务(或net.tcp),只需将“:1337/”添加到基地址即可完成其余操作。