一个现代的 n 层 asp.net Web 应用程序示例?

Posted

技术标签:

【中文标题】一个现代的 n 层 asp.net Web 应用程序示例?【英文标题】:A modern n-layer asp.net web application sample? 【发布时间】:2011-03-17 16:13:39 【问题描述】:

所以我的 asp.net 非常非常生疏,我正在尝试回到最佳实践中去。所以,我翻出谷歌,开始寻找示例、示例和教程,但我能找到什么?甚至在“最新”技术在石器时代发布之前就已经写出旧的硬壳内容。

当然,这些概念可能仍然成立。但是实际的实现基本上是没用的。我正在寻找使用 Linq、n 层(不是层。层可以是层,但层不一定是层)某种当前 ORM(L2S、EF 等)和一些现实世界的东西东西,而不是随意和无用的例子。

有人指点一下吗?

【问题讨论】:

这是一个很好的问题,最近的一些问题被关闭并指出了这一点,不幸的是,答案大多很笼统,缺乏很多细节。因此,是否有人对遵循最佳实践的最新综合 asp.net webforms 示例有任何指示。我知道 MVC 被认为更好,但有些客户仍然要求使用网络表单。 【参考方案1】:

这里有 3 个来自 Daniel Simmons 的链接,可以帮助您入门:N-Tier Application PatternsAnti-Patterns To Avoid In N-Tier ApplicationsBuilding N-Tier Apps with EF4 也可以看看NerdDinner,如果你对 ASP.NET MVC 感兴趣(过去两年我一直在 ASP.NET 工作,一开始我有点不愿意学习 ASP.NET MVC,我以为我知道网络表单所需的一切,但这绝对是一股新鲜空气,不是替代,而是补充 WinForms)。该项目由 Scott Gurthie 开发,因此如果您查看该项目,您将向最好的人学习。 NerdDinner 还有一个教程,但我没有找到更新的(MVC 2)教程。 希望这可以帮助。

【讨论】:

Jeff Atwood(本网站的开发者)一直对 NerdDinner 样本有积极的评价。这是一个开始的好地方。 我同意 MVC,我非常喜欢它,而且我已经通过 nerddinner 的东西,但不幸的是,我现在被困在网络表单中。 我在日常工作中也“卡住”了网络表单,但这并不意味着我不能在业余时间尝试一下。正如我在阅读 MVC 时不止一次看到的那样,它不应该被视为 WebForms 的替代品(至少现在还没有,尽管我的猜测是,如果两者要合并,它就是 MVC这将吸收 WebForms 而不是相反)。因此,每种 ASP.NET 风格都有其优缺点,但 MVC 对于任何 Web 开发人员来说绝对值得一试。另外,您不只是喜欢 Razor 语法吗? NerdDinner 最新版本(2010 年 5 月 25 日)比它早了 4 年。还有其他最新的示例吗?【参考方案2】:

我建议 NSK,在 codeplex 上:

http://nsk.codeplex.com/

这是一个基于 Northwind 的分层示例应用程序。

【讨论】:

这个例子使用 asp.net mvc 而不是 webforms !【参考方案3】:

这个系列的文章很好很现代。 5 年前,我们的项目基于其以前的版本,并且从未后悔。 http://imar.spaanjaars.com/573/aspnet-n-layered-applications-introduction-part-1

【讨论】:

【参考方案4】:

不久前我写了一些博客文章,这是一个基本的概述value of n-tier design 然后我做了一个后续的帖子,从n-tier design revisit part 1: overview 开始,我有一些源代码告诉你发生了什么

【讨论】:

我承认这些博客文章可能有些用处,但它们非常简短,并没有真正解决实际 asp.net 示例的原始问题!!!【参考方案5】:

那里有很多网站,但很难缩小范围。首先尝试 CodePlex 和 CodeProject。有大量的样本,由社区分类和评级。

CodePlex

CodeProject

SourceForge

【讨论】:

也许链接被认为有点通用 你没有回答这个问题。我正在寻找特定的样品。我已经花了数周时间搜索这些网站,坦率地说,这是大海捞针。 @Mystere Man - 你试过了吗? multitierlinqtosql.codeplex.com/… 我认为将其缩小到一些样本并不难,您不必枚举所有样本。当然,围绕 n 层架构构建了很多优秀的应用程序,但仅向某人指出一些源代码库对于链接谷歌作为回应是第二糟糕的。

以上是关于一个现代的 n 层 asp.net Web 应用程序示例?的主要内容,如果未能解决你的问题,请参考以下文章

Asp.net core 简单介绍

ASP.NET 数据访问层。使用 sqlhelper.cs 不好吗?

在ASP.NET中,三层架构,Web ,BLL,DAL,Models这四个的引用关系是?

Asp.Net - 从不同的应用程序层异步调用 web 服务,而不是页面本身

具有最佳实践的示例 N 层 ASP.NET MVC3 应用程序(使用 EF 4.1)

使用 MEF 构建具有 n 层松散耦合的 MVC ASP.NET 应用程序