【问题标题】:Possible to create ASP.NET MVC web site (vs web application)可以创建 ASP.NET MVC 网站(与 Web 应用程序相比)
【发布时间】:2013-10-31 13:49:09
【问题描述】:

我正在查看 MSDN 上的网站和 Web 应用程序之间的区别,并被网站的特性所吸引,因为我的任务是设计一种体系结构,客户可以在其中大量定制我们提供的应用程序。网站的这个功能似乎很有用:

您希望能够在生产中更新单个文件 将新版本复制到生产服务器,或通过编辑文件 直接在生产服务器上。

但是,我也被 MVC 架构所吸引,因为它内置了用于缩小交付给客户端的脚本的功能。我也有点喜欢将架构分解成干净的部分的想法,因为这是我们拥有的一个非常大的数据模型。

但据我所知,这些功能集似乎是相互排斥的。真的吗?我无法轻易弄清楚如何创建一个 MVC 应用程序,其中自定义视图可以作为纯源文件放入并能够运行,我也无法弄清楚如何在创建“Web”时利用任何 MVC 框架站点”项目。是我遗漏了什么还是我必须选择我的毒药?

【问题讨论】:

  • 确实,你应该选择你的毒药......但要知道,允许客户定制你提供的应用程序就像打开地狱之门。他们会把事情搞砸,你必须收拾残局。但这不是重点:-)
  • 哦,我们会很聪明的。我们当前的自定义机制将所有自定义设置到一个单独的文件夹中。他们从不覆盖我们的文件。在默认为标准视图之前,我们只是在不同的位置寻找定制版本。

标签: asp.net asp.net-mvc razor


【解决方案1】:

看看 VS2013 中的 ASP.NET 模板。您可以使用 MVC 和 WebForms 创建应用程序。这可能会给你一个你需要的很好的组合。默认情况下,不会编译视图文件,因此如果需要,您将始终能够发布新文件而无需完全推送。事实上,VS2012 甚至允许你发布选定的文件或文件夹。

网站和网络应用程序之间的选择非常简单。如果您正在创建一个主要是静态的应用程序,请选择“网站”。如果您正在创建一个具有相当数量动态功能的应用程序,请选择“网络应用程序”。网站并非真正设计为动态的,因此您在该设置中所做的动态越多,正确维护它就越令人头疼,因为架构不是它需要的位置。

我的建议是将它们都旋转起来,尝试一些您感兴趣的场景,看看哪些有效,哪些无效。真正考虑用户实际希望如何自定义应用程序。他们是否希望将文件复制并粘贴到生产环境中,或者他们更愿意请求功能并正确构建它们?或者他们可能想要使用工作流来代替?

因此,制定切合实际的业务需求、原型,然后再决定。但根据我听到的消息,您想要一个 WebApp,并且可能需要一个执行 MVC 和 WebForms 的应用程序。

【讨论】:

  • 我想尽可能避免使用 WebForms。我从不喜欢 Viewstate 以及它如何混淆原本干净的基于字段的架构。但是自从我上次阅读 ASP.NET 以来,MVC 看起来是一个不错的发展。我想我可以在 VS 2012 中做到这一点。
【解决方案2】:

现在一切都ONE ASP.Net。您将使用 ASP.Net 平台创建 WebForm、MVC、网页。

观看有关new features in VS 2013的视频

不确定是否可以在 ASP.Net 4.5 中创建网站。

根据我的经验,我会选择基于 WebApplication 的项目,其中管理命名空间和其他东西很容易。在网站上很难获得生成的类(随机)的标准名称。

使用 MVC Web 应用程序。

【讨论】:

  • 该对话框看起来非常像“新建 Web 应用程序”对话框,而不是“新建网站”对话框。谁能告诉我 VS 2013 是否已经走到了合并“网站”和“网络应用程序”的地步,或者它们仍然是分开的吗?顺便说一句,我已经知道我想避免使用 Web 表单并尽可能使用 MVC。问题是我是否可以支持在生产系统上放入 .VBHTML 或 .CSHTML 文件并使其在不重新编译任何内容的情况下工作(假设它是我知道如何链接到的新内容,而不是试图替换现有内容) .
猜你喜欢
  • 1970-01-01
  • 2010-10-05
  • 2010-09-21
  • 2017-03-03
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 2015-05-20
  • 1970-01-01
相关资源
最近更新 更多