嵌套的虚拟应用程序不起作用?

时间:2012-06-05 15:24:04

标签: azure

我在使用三个站点(Azure v1.6,完全信任)设置一个Web角色时遇到问题。

以下是在IIS Express中配置的方式:

<site name="Empty.Dummy.Site" id="2">
   <application path="/" applicationPool="appPool">
     <virtualDirectory path="/" physicalPath="c:\Sites\Empty.Dummy.Site" />
   </application>
   <application path="/mainSite">
      virtualDirectory path="/" physicalPath="C:\Sites\mainSite" />
   </application>
  <application path="/mainSite/virtualChild">
     <virtualDirectory path="/" physicalPath="c:\Sites\virtualChild" />
  </application>
   <bindings>
      <binding protocol="http" bindingInformation="*:55555:localhost" />
   </bindings>
</site>

What's missing in ServiceDefinition.csdef is the "path" attribute.

I've tried a lot using nested virtual path and things but not got it to work.

For example:
<Sites>
   <Site name="Empty.Dummy.Site" physicalDirectory="c:\Sites\Empty.Dummy.Site >
      <VirtualApplication  name="mainSite" physicalDirectory="C:\Sites\mainSite">
          <VirtualApplication name="virtualChild" physicalDirectory="c:\Sites\virtualChild"/>
     </VirtualApplication>
      <Bindings><Binding name="Endpoint1" endpointName="HttpIn"  /></Bindings>
</Site>

有任何建议或其他选择吗?

我正在寻找的解决方案应该会在同一个网络角色中产生3个网站!

  1. http://demo.cloudapp.net/
  2. http://demo.cloudapp.net/MainSite/
  3. http://demo.cloudapp.net/MainSite/VirtualChild

1 个答案:

答案 0 :(得分:0)

用于虚拟应用程序的语法会导致像您描述的那样的URL(据称)

<Site name="Web">
   <VirtualApplication name="application-name" physicalDirectory="relative-location" />
   …
</Site>

我不确定它是否会支持http://demo.cloudapp.net/MainSite/VirtualChild方案。

http://msdn.microsoft.com/en-us/library/windowsazure/gg433110.aspx有一些不错的选择。

我个人更喜欢使用host-headers并获取像

这样的网址
  1. http://demo.myapp.com/
  2. http://main.myapp.com
  3. http://virtualchild.myapp.com
  4. 如果您的设置不是静态的 - 即您计划动态添加网站 - 那么值得查看Windows Azure Acceleratorfor Web Roles