多个ASP.NET MVC应用程序;用于共享UI资产的服务器?

时间:2014-01-22 19:00:32

标签: asp.net asp.net-mvc user-interface architecture

给定: 我是一个团队转换/重建近150个小型ASP Classic,ASP.NET和& ASP.NET MVC将Intranet应用程序转换为新的单一自定义Intranet应用程序架构解决方案。我们的目标是ASP.NET MVC 5.各个遗留应用程序将转换为新解决方案/架构中的单个可构建产品项目。

目标: 我的目标是为用户界面资产管理和参考提供愿景。该愿景应包含共享资产以及独特的产品资产。

问题: 为了便于部署,我正在考虑一个相当平坦的共享UI项目。然后,对于独特的项目资产需求,我考虑将它们保存在各自的项目中,而不是将它们放在UI项目中,以某种方式嵌套/按产品组织。我对这种方法应该考虑哪些意见或顾虑?

谢谢, 列维

1 个答案:

答案 0 :(得分:1)

虽然这个问题需要进一步澄清,但我将概述在为大型医疗保健提供者工作时对我有用的策略,并且有类似的艰巨任务。

CSS&图片

  1. 使用资源域来托管css和图片(http://assets.mycompany.org
  2. 如果资产域不可用,则利用IIS虚拟目录 实现类似:http://mycompany.org/assetshttp://mycompany.org/shared/assets在全球范围内。
  3. 采用名为样式表的产品/项目,轻松识别架构中的过载

    \my-org-root
    \my-org-root\assets\my-org-global.css
      # This is the global stylesheet that gets included for every HTML request
    \my-org-root\project-apples
    \my-org-root\project-apples\assets\css\apples.css
    \my-org-root\project-pears
    \my-org-root\project-pears\assets\css\pears.css
    \my-org-root\product-animals
    \my-org-root\product-animals\assets\css\animals.css
    \my-org-root\product-animals\lions\assets\css\lions.css
    \my-org-root\product-animals\tigers\assets\css\tigers.css
    
  4. 这不会让人感到意外:使用Sass。它将有助于保持一致性并防止你出现栓塞。

  5. 尽可能多地利用部分

    Html.RenderPartial("~/Views/Shared/_Product.cshtml", product);
    
  6. 积极追捕并摧毁内联样式。

  7. 准备好做很多清理。
  8. 档案&视频

    如果您必须支持文件上传或自托管视频,则有一些方法可以继续,但这些方法主要取决于您的安全策略。理想情况下,我推荐像亚马逊S3这样的托管安全解决方案。这些使BLOBS保持在您的问题域之外,并使您专注于基于UI的文件。如果您无法使用托管解决方案,那么您将需要资产目录策略。

    \my-org-root\project-apples
    \my-org-root\project-apples\assets\video\FILE-ID-REF.ext
    \my-org-root\project-apples\assets\files\2014\1\22\FILE-ID-REF.ext
    # or, perhaps more simply
    \my-org-root\project-apples\assets\files\FILE-ID-REF.ext
    

    需要澄清吗?请问。