0

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

下面是它在 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
4

1 回答 1

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有一些不错的选项演练。

就我个人而言,我更喜欢使用主机头并获取类似的 URL

  1. http://demo.myapp.com/
  2. http://main.myapp.com
  3. http://virtualchild.myapp.com

如果您的设置不是静态的 - 即您计划动态添加站点 - 非常值得一看Windows Azure Acceleratorfor Web Roles

于 2012-06-05T20:37:26.817 回答