【发布时间】:2011-05-02 19:35:39
【问题描述】:
我正在重新设计我们所有面向公众的网站。这些站点将共享大部分资产,例如 JS、图像、CSS、Web 服务等,但会在不同的域/子域下访问。
我不可能是唯一一个希望与共同但独立且独特的网站共享所有这些资源的人。解决这个问题的正确方法是什么?
【问题讨论】:
标签: asp.net visual-studio-2010 iis-7 web
我正在重新设计我们所有面向公众的网站。这些站点将共享大部分资产,例如 JS、图像、CSS、Web 服务等,但会在不同的域/子域下访问。
我不可能是唯一一个希望与共同但独立且独特的网站共享所有这些资源的人。解决这个问题的正确方法是什么?
【问题讨论】:
标签: asp.net visual-studio-2010 iis-7 web
最好的方法是拥有一个诸如“static.mydomain.com”之类的站点来托管您的 javacript、图像和 css。您通常会将此站点设置为进行一些激进的缓存。
对于网络服务,有一个名为“services.mydomain.com”的网站,它托管您的所有网络服务。
所有其他网站都转到各自的域。
主要网站将通过 <img src='http://static.mydomain.com/images/myimage.jpg' /> 之类的方式引用他们的所有工件
这里唯一真正的复杂性在于您的自动化构建。但即使这样也不是太难,具体取决于您的构建服务器。
是的,这是一种非常常见的方法。此外,通过分离这些静态工件,如果您愿意,以后可以更轻松地将它们转移到 CDN。
【讨论】:
如果您希望所有文件都属于同一个解决方案,那么它与Sharinging Master Pages across Projects 的问题非常相似
查看有关该问题的链接和以下链接:
如果您只关心共享静态文件而不是动态文件,那么我建议您遵循 Chris Lively 的建议并将它们托管在单独的域中。自定义构建过程以在必要时复制文件。
【讨论】: