2011-06-02 62 views
0

我需要将ASP.NET应用程序迁移到Azure。该应用程序需要访问数据库并访问临时文件,并且还需要使用out-proc COM对象。原来有"Full IIS" mode,提供一些比较模糊的措辞优势(从here):我如何知道在Azure Web角色中是否需要完整的IIS?

然而,有许多有用的功能,只有在IIS中存在,包括在多个站点或虚拟应用程序和激活的WCF服务支持通过Windows激活服务进行非HTTP传输。

现在很明显,使用完整的IIS迫使我对付ASP.NET part and role part working in different processes,这是一个大问题,所以我需要知道我是否需要在第一时间完整的IIS模式。

如何决定是否需要完整的IIS模式?有没有完整的清单?

回答

1

我认为你的默认答案应该是在Windows Azure功能中使用完整的IIS。托管的Web核心产品实际上具有向后兼容性,因为它是1.3 SDK之前的原始模型。完全IIS是默认设置,您必须明确选择返回HWC。

,大多数人想要完整的IIS的原因是周围的几个,但重要的限制:

  1. 更好地为IIS扩展(例如平滑流,Web场,编曲等)的支持。 HWC并不总是支持这些模块,并且与缺少的管理权限结合在一起,如果不是不可能使用人们想要使用的所有模块,那么它很难实现。
  2. 支持多个网站,vdirs和应用程序池。 HWC是一个单一的应用程序池(托管过程),无法支持多个网站。人们非常担心需要将一个完整的角色分配给单个网站。使用完整的IIS,您可以拥有多个站点并使用主机头来获得更大的压力(尤其是对于小型网站)
  3. 支持标准工具--Web Deploy,AppCmd等不起作用好(如果有的话)与HWC。任何修改applicationHost.config的东西通常都与HWC有关。
  4. WAS支持。这使您可以将IIS中的WCF用作非HTTP传输中的主机。

通常情况下,使用完全IIS可以与您在本地进行的操作保持一致,因此可以更轻松地进行配置和设置。

关于RoleEntryPoint/HWC过程模型与RoleEntryPoint和单独的完整IIS过程相关,我不确定这是否是一个问题。最初可能有一些怪癖,但最关心你的是什么?

+0

有没有证据表明托管网络核心模式将来会被禁止? – sharptooth 2011-06-10 09:14:56

相关问题