我已经从http://www.asp.net/mvc在此示例应用程序中包含单层。但我想让三层应用程序是DataLayer、BusinessLayer和WebLayer。
有人对此有想法吗?
任何答案或建议都将不胜感激!
谢谢,Imdadhusen
您可以在Visual Studio中使用任何新的MVC向导来创建MVC应用程序。这将成为UI层。您可以将此项目命名为Movie.UI。完成此操作后,您可以转到"文件"|"添加"|"新建项目…"。。。并为您的数据访问层添加类库项目。您可以将此项目命名为Movie.Data。然后重复此步骤,并将另一个类库项目添加到您的解决方案中,该项目将用于您的业务逻辑层(即Movie.business)。
一旦解决方案中包含了所有三个项目,就可以在它们之间添加必要的引用。通常,您的UI项目将引用您的业务层项目,而业务层项目将依次引用您的数据访问项目。
更新
你所指的这种沟通正是你通过引用一个项目所实现的。当您将引用从项目a添加到项目B时,您为项目a建立了一种从项目B访问公共类型的方法。
我已经设置了最简单的示例来展示如何在项目之间进行通信:
在Movie.Data项目中,您添加了一个MovieRepository类:
MovieRepository.cs
namespace Movie.Data
{
public class MovieRepository
{
public string[] GetMovies()
{
return new[]
{
"Gone with the Wind",
"Back to the Future",
"The Godfather",
};
}
}
}
然后在你的Movie.UI项目中,你首先需要添加一个对你的电影的引用。数据项目:
- 右键单击"引用"
- 单击"添加引用…"
- 在"项目引用"下,选择"Movie.Data"
最后,你的Movie.UI项目(为了简单起见,我把它做成了一个控制台应用程序):
程序.cs
using System;
using Movie.Data;
namespace Movie.UI
{
class Program
{
private static MovieRepository _repo = new MovieRepository();
static void Main(string[] args)
{
foreach (var movie in _repo.GetMovies())
{
Console.WriteLine(movie);
}
}
}
}
希望这能有所帮助。