具有不同配置的多个站点中的相同项目

时间:2012-06-12 07:45:42

标签: azure azure-web-roles

我想将同一个Web应用程序部署到具有不同域和不同web ui和数据库的多个站点。

在我的ServiceDefinition中我有这个:

<Sites>
  <Site name="Web">
    <Bindings>
      <Binding name="Endpoint1" endpointName="Endpoint1" />
    </Bindings>
  </Site>
  <Site name="Web2" physicalDirectory="..\WebRole1">
    <Bindings>
      <Binding name="Endpoint1" endpointName="Endpoint1" />
    </Bindings>
  </Site>
</Sites>

如何为每个站点加载不同的css / images / js和数据库?

1 个答案:

答案 0 :(得分:1)

根据您提供的信息,您可能会问两个截然不同的事情。

您提供的服务定义实际上是创建两个单独的网站,它们可能没有任何共同点,它们是从两个单独的文件夹启动的。当您在服务定义中使用多个站点时,您的目标是拥有多个不同的站点,这些站点之间可能共享或不共享任何代码。并且基于主机头,您可以决定显示哪个物理文件夹内容。这是关于how to use multiple websites with Windows Azure Web Role的一个很好的例子。

正如您还提到要加载不同的css / images / js,您可能只需要一个网站,但是您拥有不同的资源取决于不同的标头。通过在页面加载事件(或全局)期间解析URL中的hostheader,然后创建基于路径,重定向到包含所有静态资源的特定资源文件夹,可以在单个网站中轻松完成此操作。部署网站时,可以将所有静态资源包含在具有相同文件结构的不同文件夹中。您可能不需要多个网站来实现此目标。