2013-04-24 59 views
-2

我有一个网站,主要是从一个数据库呈现页面。我们在网站上还有一个用户管理系统,需要登录,个人档案管理,信用卡处理等。网站上有一些地方具有应用功能,比如论坛,但大多数网站都是动态内容,从一个数据库。内容是通过与网站无关的内部CMS输入的。新的网站或MVC应用程序

我正在将网站从ASP升级到.Net 4.5框架。 VS 2012中这个新项目的最佳选择是什么?一个ASP.Net MVC 4应用程序(Internet应用程序)还是一个新的ASP.Net网站(Razor v2)?

我倾向于ASP.Net MVC 4应用程序(互联网应用程序,Razor),而不是网站。

更新:其实我已经做了很多的阅读这一点,无论是在这里SO,或其他网站,仍然我不知道这是从传统的ASP迁移到.NET为我的具体的最佳选择需要。

电流:

  1. 经典ASP网站(页100的),面向公众的。
  2. 当数据从数据库填充时,大多数页面都是从数据库中渲染的,模板HTML位于.asp页面中。可以与功能中的WordPress网站进行比较。内容输入CMS,并通过模板在网站上呈现。
  3. 会员登录该站点,拥有个人主页,付款等。
  4. 有一个论坛
  5. 所有为搜索引擎设计的URL。在IIS中重写URL。我需要保留现有的URL,并让它们与新的.Net站点一起工作。重要。
  6. 客户端操作是必须的,与jQuery工具,灯箱等整合。
  7. 这不是一个“应用程序”网站,每说。它是一个面向公众的网站,如MSNBC或类似网站,经常更新(每月几次,如果不是更多)。

我不知道如何选择理想的项目类型来迁移到.Net。我不认为Web表单是一个好的选择,而MVC 4似乎是基于我所阅读的内容的一个好选择,但也许我可以用标准的ASP.Net网站(Razor v2)模板来完成所有必要的工作。

我希望得到一些意见,告诉我们应该采取哪种方式,从已经完成的人。谢谢你的帮助。

+0

对不起,发布了错误类型的问题。根据我读到的其他问题,与此类似,这似乎是合理的。 – devnuts 2013-04-25 13:55:02

回答

1

我会使用.NET MVC 4。但是,如果你遇到困难,那么网上的资源就不多。但我认为你将会生存下去。唯一的缺点是你需要更多的时间来学习新的东西,因为它与旧的东西非常不同。

如果您有足够的时间,请使用MVC 4.一旦您使用它完成项目,您可以在将来轻松地进行任何更改。

+0

谢谢,Borsel。我同意,并没有问题与MVC 4工作。另一件事,引用我的另一个问题http://stackoverflow.com/questions/16174425/upgrade-classic-asp-to-mvc-4-0,你觉得移动到MVC 4时,很难维护现有的URL? – devnuts 2013-04-24 14:01:23

+0

我也回答了这个问题。我希望它解释你需要什么,并得到标记 – 2013-04-24 14:07:06

+0

我已经详细阐述了这里的问题。我仍然不确定哪个最适合我的情况。根据我读过的内容,许多人都说MVC 4(Razor)。但是,根据我拥有的网站类型和要求,很难确定这对我来说最适合,还是过分复杂化(当前网站并不那么复杂)。感谢您的输入。 – devnuts 2013-04-24 15:12:11

1

有三种网站可以创建开箱(和一些子类型)。 ASP.NET WebForms,ASP.NET Web Pages和ASP.NET MVC。你选择哪一个是个人喜好的问题,因为它是其他任何东西,尽管某些类型的网站使某些事情更容易做到。

一般(而这些都不是硬性规定)

WebForms的 - 这是90%的人做到这一点,并有大量的知识和图书资料在那里。它可以工作,但在创建符合标准的html,可测试性和可维护性方面,您必须处理很多事情。有解决所有这些问题,他们是众所周知的,但总的来说,它被认为是“旧技术”(虽然不像传统的ASP那么古老)

WebPages - 此技术基于Razor视图引擎,并且将页面视为更像经典ASP,您可以在其中混合使用代码和html。一般来说,这使您可以快速创建具有其功能背后的网站,但代价是较长期的可维护性和可测试性。和其他任何东西一样,你可以强制过程来解决这些问题,但是框架本身并不是真正面向它的。

MVC - 此技术基于众所周知且深受好评的MVC用户界面模式。它侧重于分离关注点,以提高可维护性,可测试性和易于开发。它确实需要与传统的ASP.NET开发有很大的差异,并且需要一个陡峭的学习曲线。您必须比使用WebForms更深入地了解HTML,CSS和JavaScript。

我对我所能做的每件事都使用MVC,这对我来说更符合逻辑。 MVC是那些直到你达到“啊哈!”才真正令人困惑的东西之一。一会儿,然后它全部卡入到位。

你选择的是完全取决于你自己。你必须决定你想如何发展,这将指导你的决定。

+0

谢谢。使用Razor的MVC(这是MVC 4 Web应用程序的VS2012中的默认值)是WebPages和MVC的组合吗?我认为MVC是要走的路。我正在努力,这是否符合要求是合理的。就像维护所有当前的URL一样。我可以为此使用自定义路由,但是这会使MVC过度复杂化,而使用WebPages(Razor)会更有意义?我明白你只是分享意见,但他们很有价值。 – devnuts 2013-04-24 16:14:07

+1

@devnuts - no,在MVC中Razor被用作模板引擎(MVC称它们为ViewEngines)。你可以像在WebPages中一样放置代码,但除了严格的表示相关逻辑之外,这是不鼓励的。在WebPages中,您在剃须刀代码中拥有业务逻辑,而在MVC中则没有。 – 2013-04-24 16:20:48

+0

你是说MVC Razor不是我描述的好选择吗?我已经读过关于Razor的好消息,但还没有用它来做出在这次升级中继续前进的好决定。 – devnuts 2013-04-24 17:30:50

相关问题