0

我们在 Azure 上使用了多个 WCF RESTful 应用程序,一个用于 Xbox 360 上的用户,一个用于 PS3 上的用户。两者的底层架构需要略有不同,因此我们无法将端点组合成一个角色。

目前,这两个角色都在一个托管服务上的一个部署下。但是,在访问角色时,是否可以让它们位于自定义端点?可以扩展到端点内的自定义文件夹吗?

现在,我通过以下方式访问 WCF REST 应用程序 http://[servicename].cloudapp.net/[template]

但我希望能够将它们分开为 http://[servicename].cloudapp.net/[gamename]/ps3/[template] http://[servicename].cloudapp.net/[gamename]/360/[template]

其中 [gamename]/[env]/ 将指向不同的角色。

按照现在的设置方式,所有请求都将发送到我的 PS3 端点,即使 Xbox360 角色使用不同的服务运行也是如此。

我的问题是我可以通过编辑 ServiceDefinition.csdef 或 ServiceConfiguration.Cloud.cscfg 文件而不更改服务的 c# 代码来做到这一点吗?

4

2 回答 2

1

我相信简短的回答是否定的。您将需要在 Web 配置或代码中编辑端点绑定,以促进服务行为的这些更改。

于 2012-01-11T16:56:06.087 回答
0

当您在部署中有两个角色时,在 ServiceDefinition.csdef 文件中应该使用不同的端口为每个角色声明一个端点:

<InputEndpoint name="Endpoint1" protocol="http" port="8080" />

所以你可以访问一个使用http://[servicename].cloudapp.net/和另一个使用http://[servicename].cloudapp.net:8080/

然后,您可以使用 WCF 路由服务为每个路由创建 [gamename]/ps3/[template] 路由,一切顺利。但是他们必须在 80 以外的另一个端口上才能监听请求。

于 2012-01-11T20:14:36.583 回答