首页 文章

WCF服务托管在Windows Azure上的工作者角色中,其作用类似于代理,需要调用其他工作者角色中托管的其他服务

提问于
浏览
1

正如你所看到的,我相对较新,所以请在发布这个问题后不要杀了我:)我会尽力描述我目前所处的困境 .

我正在创建类似于“Guardian服务”的东西,它在工作者角色的Windows Azure中托管 . 此服务具有外部端口,可通过HTTPS访问,以允许客户端调用其服务方法 .

WCF服务旨在调用其他工作者角色中托管的其他服务,这些服务角色仅打开内部端口,并且只能通过使用Guardian服务访问 . 这是主要的想法 . 类似于代理或其他东西 .

我已经阅读了Jim O'Neil的一篇优秀文章,当您尝试从工作者角色中托管的其他WCF服务中访问内部服务点时,需要注意的是:

他的博客Troubleshooting Endpoints on a WCF Web Role

这不是这个问题的重点,我完全清楚如何做到这一点 .

我现在不知道如何做到这一点,如果没有实现我希望从Guardian Service内部访问外部世界的每一项服务的每份 Contract .

必须有更好的方法来解耦这些事情 .

任何提示都表示赞赏 .

谢谢 .

1 回答

  • 1

    我不知道你的项目的确切要求,但我会说你正在寻找的是WCF路由 . 我过去曾使用它来重定向不同版本的Workflow实例的请求 .

    它的工作方式对连接到其 endpoints 的客户端完全透明 . 路由器实现必须根据请求数据(消息头和主体)决定将请求发送到何处 .

    在您的情况下,如果您正确使用SOAP和命名空间,您可能能够根据消息soap地址做出决定,然后将请求发送到正确的 endpoints . 您还可以查看消息的Action属性 .

    一些可能有用的链接:http://msdn.microsoft.com/en-us/library/ee517423.aspx http://www.codeproject.com/Articles/227699/RoutingService-on-Azure

相关问题