2012-09-11 83 views
0

我有ASP.NET web应用程序和1个wcf web服务。我想将它们部署到Azure,以便它们可以独立扩展/扩展。即我可以给小型虚拟机,以mvc应用程序,并给更多的实例wcf服务的大型虚拟机。另一个要求是我需要用于Web应用程序的https。但是,我不希望从mvc应用程序的https到wcf服务,这会导致不必要的加密/解密。 (因此,如果3个应用+ 1个wcf服务将在Azure上拥有4个托管服务)为了避免在mvc和wcf之间使用https,我会在每个应用上部署每个应用& wcf服务,以便它们可以独立扩展尝试使用内部端点。不幸的是,似乎内部端点仅在一个主机服务中被支持。如何独立调整asp.net mvc应用程序和wcf服务

为了避免mvc和wcf之间的https,唯一的方法是在一个主机服务中部署mvc apps和wcf。然而,那么你放弃了独立扩展的可能性。

在总结:

  1. 如果每个MVC应用程序和WCF服务部署到其自己的托管服务,我可以实现独立地缩放要求,但是,我无法避免MVC应用程序和WCF之间的不必要的加密/解密服务(https)

  2. 如果在一个主机服务中部署应用程序和wcf服务。我可以使用应用程序和wcf之间的内部端点来避免https加密/解密。但是,您放弃了独立缩放的可能性。

我想知道有没有办法可以同时实现。任何帮助是极大的赞赏。

+0

你可以有可以单独进行缩放托管服务的多个Web角色和使用MVC和WCF位之间的内部端点。或者,如果WCF服务不需要可公开访问,则可以使用ServiceHost在工作角色中将其公开为TCP端点... –

回答

1

您可以通过角色独立扩展,而不是通过服务进行扩展。因此,将WCF部署为您服务中的另一角色应该可以正常工作。但是,如果WCF需要通过内部端点消耗,则需要使用外部端点或负载平衡,但您必须考虑端口。

查看AzureWatch @http://www.paraleap.com - 将在几分钟内独立自动扩展您的两个角色,而无需更改任何代码。

HTH

+0

感谢您的回复。对不起,也许我没有如此正确地使用条款。我知道通过部署WCF和具有不同Web角色的Web应用程序可以独立扩展。但是,如果我这样做,这意味着应用程序和wcf服务只会与端口不同。例如app1:xyz.cloudapp.com:80,app2:xyz.cloudapp.com:81,service:x​​yz.cloudapp.com:82。但是,如果我需要https(端口443)为app1&app2,据我所知这是不可能的...此外,wcf需要同时具有输入和内部端点。内部端点使用http与mvc应用进行通信以避免不必要的加密/解密。 – zhenbzha

+0

直接从互联网获得服务的情况下,输入端点仍然需要有https。总之,mvc apps和wcf都需要支持https。是否有可能在一个端口上实现443 ..? – zhenbzha

+0

听起来像你需要将WCF服务暴露在外部。即使端口不是443,您仍然可以在端点上拥有SSL安全性。这是否适合您? – Igorek

相关问题