2009-08-18 35 views
1

我们目前正在开发SOA应用程序,我们将使用WCF处理所有进程间通信。在决定使用哪些端口作为默认端口时,我们已经查阅了通常的端口列表,并且包括用于更改这些默认端口的配置选项。为了减少发生冲突的可能性,我想使用IANA端口注册表(http://www.iana.org/cgi-bin/usr-port-number.pl)来注册我们打算使用的端口,并且由于表单仍然假定任何使用端口的人都必须正在写自己的原型!当你认为WCF是一个高层次的抽象,并且越来越多的使用,为什么仅仅提供绑定信息还不够?向IANA注册WCF应用程序的端口

我已就此与IANA进行了联系,答案基本上是我需要提供WCF的完整协议实现,这可能会随着单个属性的翻转而发生大规模变化。

这是什么感觉?值得追求注册吗?还是可以接受使用港口,希望未来没有人会与它发生冲突?由于大多数应用程序未列出,IANA列表无法作为参考之前需要多长时间?

意见与答案一样受欢迎!

回答

2

如果您提供的协议“可能随着单个属性的翻转而大量改变”,那么给它一个固定的端口是不合适的。固定端口的重点在于它们让你对该端口提供的协议做了一个假设。

一旦您了解IANA注册管理机构的目的是将端口映射到协议,您会意识到它永远不会变得无用,因为它完全符合它的意义。

您可以为您的服务的每个协议绑定选择一个端口,并注册这些端口;您应该能够通过参考该绑定中使用的协议规范来指定注册中的协议。我不确定是否可以或者应该指定服务绑定的细节 - 从某种意义上说,它不是线程协议的一部分,不仅仅是在stackoverflow.com上的端口80将只服务于特定集合的URL,但当然,这是了解有关港口可能发生的事情的重要组成部分。

+0

好的,所以更好的方法是指定一个具有指定和固定绑定的目录服务,比如NetTcp。然后,NetTcp绑定协议将用于满足低级别的OpCode,消息类型等问题,并且合同将满足消息序列。这项服务有一个固定的端口,所有其他服务都会向其报告它的存在,并且可以在用户选择的任何端口上运行。感谢您的输入。 – Paolono 2009-08-18 17:19:47

相关问题