c# - 一个解决方案中包含多个 Azure 云服务

标签 c# asp.net azure visual-studio-2012

我有 3 个 Web 项目在 Azure 上运行,目前所有站点都在一个实例内,这对于降低成本很有帮助,但当其中一个 Web 项目出现需求高峰而导致其他服务减慢/停止时,效果就不那么好了。

其中 2 个站点位于同一域(其中一个具有不同端口),另一个站点位于子域。站点的优点在于您可以使用主机名来区分在同一端口上运行的站点。如果子域站点被引用为 Web 角色,则它将需要与其他两个 Web 角色不同的端口 - 根本不是我想要的!

问题是,虽然我可以使用两个云服务,但您无法在解决方案中同时调试它们。将它们放在两个解决方案中可以缓解问题,但它们共享一个经常更改的类库,根据我的经验,将其放在单独的 Web 角色解决方案中使得调试非常棘手。

非常感谢任何帮助!

最佳答案

这里真正的问题是什么?

首先,我不认为将所有站点置于单个 WebRole 中存在问题。当达到峰值时,只需横向扩展即可。是的,您将扩展所有站点,但这只是一个优势。 Windows Azure 负载均衡器使用 RoundRobin 算法,保证所有请求在所有实例之间均匀发送。我会再说一遍 - 当你看到峰值时,只需横向扩展,无需担心。毕竟,这就是 Azure 的意义。对于成本来说,这并不重要,因为无论如何你都会扩展。无论是每个网络角色一个站点,还是每个网络角色 10 个站点,规模就是规模,并且花费相同的资金。

至于另一个问题。我一直在处理很多多项目解决方案。我从未见过多个项目使用的公共(public)库出现问题。特别是当一切都在(源)控制之下时。 Visual Studio 具有“添加现有项目”的巧妙功能(当您右键单击解决方案时):

Add Existing Project

因此,您的公共(public)类库只是在许多解决方案中使用的单个项目,并在文件系统的单个位置上进行编辑。

作为底线,我要再说一遍 - 如果您唯一烦恼的是,当您在高峰期扩展站点时,您也会扩展其他站点,但不要这样做!如果您不想在高峰期进行扩展,并不想让网站瘫痪 - 就不要使用 Azure。

关于c# - 一个解决方案中包含多个 Azure 云服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13525909/

相关文章:

c# - 异步线程和 session

c# - 从 USB 条码设备 C# 读取数据的标准方法

c# - 在哪个版本的 C# 索引器中引入了?

c# - 在 C# asp.net 中使用不安全代码

c# - 错误 : object type cannot be compared with an int

facebook - 提供 og :image url encountered an unknown error

azure - Active Directory 上授予同意失败并出现错误

C# Codility 问题 number of caSTLes 如何解决?

c# - Bitmap.Save 在几个小时后停止工作

azure - Azure 服务总线队列的 "Default message time to live"的值是多少?