《Windows Azure Platform 系列文章目录》
在Windows Azure平台中,用户最多可以对以个Role指定5个Endpoint。而一个Hosted Service最多允许包含5个Role,所以说在一个Hosted Service中用户最多能定义25个Endpoint。
而对于每一个Endpoint,使用者需要设定如下三个属性:
- 名字:这个名字只对应用程序有效,允许开发人员在代码中通过名字获得Endpoint完整地址。
- 类型:Endpoint目前支持两种类型,即Input Endpoint和Internal Endpoint。
- Input Endpoint:表名这个Endpoint是对Internet开放的。在Developer Portal中创建一个Hosted Service的时候,需要制定一个对外的URL地址,那么所有Input Endpoint都可以通过Hosted Service URL进行访问。
- Internal Endpoint:顾名思义,Internal Endpoint不对Internet开放。这些Endpoint只是对当前Windows Azure项目,也就是当前Hosted Service中的其他Role开放。通过Hosted Service URL无法从外部访问Internal Endpoint。
- 协议:Endpoint目前支持HTTP和TCP两种协议。协议和类型没有对应关系,即可以设定基于TCP协议的Input Endpoint,也可以设定基于HTTP协议的Internal Endpoint。由于使用TCP能够获得更高的效率,但是要保证客户端也要使用.NET开发,因此一般来说Internal Endpoint大多选择TCP协议。HTTP协议则一般用来绑定网站(Web Role)以及基于HTTP和WSHTTP的WCF服务。另外,TCP协议也被用在NET.TCP的WCF服务或其他Socket服务上。
对于Input Endpoint来说,用户可以在开发的时候通过Visual Studio的Role Setting界面查看,也可以在部署之后通过Developer Portal查看,如下图:
用户除了在Service Model中显式定义Endpoint之外,还可能由于使用了一些Windows Azure功能而隐式地定义一些Endpoint。这些Endpoint并没哟在Windows Azure项目的配置文件中出现,但是当用户部署了应用之后将会自动显示在Developer Portal上。一个比较典型的例子是当用户开启了Hosted Service的远程桌面功能时,在Developer Portal上会发现系统自动加入了一个3389的Input Endpoint。
提示:Developer Portal只会显示Input Endpoint而不会显示Internal Endpoint。
本文摘自:徐子岩著的《实战Windows Azure 微软云计算平台技术详解》 电子工业出版社
本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2012/03/04/2379209.html,如需转载请自行联系原作者