我们有许多需要共享静态资源的 asp 和 asp mvc web 应用程序。我希望能够将这些放在一个可以跨站点共享的通用项目中,但我不确定如何做到这一点?我知道我们可以使用 CDN,但更喜欢通用的项目方法。任何例子将不胜感激!
2 回答
这里确实存在两个(或三个)问题,解决问题并不像应有的那么简单。
第一个问题是让共享资源在运行时可用——为此,将资源放在 CDN 上可能会起作用,但您可能需要在设计期间引用这些资源,并将它们包含在您的版本控制系统中。
第二个是跨 ASP.Net 项目和解决方案共享公共资源,遗憾的是,这样做的能力将取决于第三个项目,即您的源代码控制系统。
如果您使用的是 VSS,那么,我很同情您,但您现在被卡住了。无论如何,是时候升级了。
其他版本控制系统(包括 TFS)在项目和解决方案与存储库之间没有完全相同的不灵活链接。您应该能够有多个解决方案和项目重叠,类似于:
Root
Web\
App1\
App2\
SharedResources\
Class1\
Class2\
etc
您可以有多个 Web 应用程序项目 - 一个可以引用 Web\App1 和 Web\SharedResources 中的资源,另一个 Web\App2 和 Web\SharedResources 中的重叠资源,然后将多个解决方案绑定到单个源代码控制存储库。不幸的是,我还没有找到一种方法来做到这一点,并将资源和应用程序放在不同的结构中。
根据您要保存 .sln 和 .proj 文件的位置,您可能必须手动编辑它们以更新路径 - Visual Studio 不会真正喜欢创建这种类型的重叠结构。
您可以通过将这些静态文件托管在单独的 Web 服务器中来创建自己的 CDN。