正如你所看到的,我是相对新的,请不要在发布这个问题后杀了我:)我会尽力描述我目前所面临的困境。
我正在创建一个类似于“Guardian服务”的东西,它在工作者角色的Windows Azure中托管。该服务具有外部端口,可通过HTTPS访问,以允许客户端调用其服务方法。
WCF服务旨在调用其他工作者角色中托管的其他服务,这些服务角色仅打开内部端口,并且只能通过使用Guardian服务访问。这是主要的想法。类似于代理或其他东西。
我已经阅读了Jim O'Neil的一篇优秀文章,当您尝试从工作者角色中托管的其他WCF服务中访问内部服务点时,需要注意的是:
他的博客Troubleshooting Endpoints on a WCF Web Role
这不是这个问题的重点,我完全清楚如何做到这一点。
我现在不知道如何做到这一点,如果没有实现我希望从Guardian服务中可以访问外部世界的每一项服务的每份合同。
必须有更好的方法来解开这些事情。
任何提示都表示赞赏。
谢谢。
答案 0 :(得分:1)
我不知道你的项目的确切要求,但我会说你正在寻找的是WCF路由。我过去曾使用它来重定向不同版本的Workflow实例的请求。
它的工作方式对连接到其端点的客户端完全透明。路由器实现必须根据请求数据(消息头和主体)决定将请求发送到何处。
在您的情况下,如果您正确使用SOAP和命名空间,您可能能够根据消息soap地址做出决定,然后将请求发送到正确的端点。您还可以查看消息的Action属性。
某些可能有用的链接: http://msdn.microsoft.com/en-us/library/ee517423.aspx http://www.codeproject.com/Articles/227699/RoutingService-on-Azure