使用具有3层体系结构的ASP.NET WebApi

时间:2012-08-29 14:43:38

标签: asp.net asp.net-web-api

我一直试图掌握ASP的使用。 NET WebApi最近,我看了很多教程并阅读了相当多的材料,但没有找到我需要的信息。这可能是一个非常基本的问题,但我的想法是用IIS托管我的webapi,目标是建立一个3层架构,比如,Presentation Tier,Business Log和Data Access。

现在我为我的表示层创建一个MVC 4项目。但是我不太了解的是,然后我创建另一个MVC 4项目,其中包含用于我的业务逻辑的web api模板,并删除所有控制器,视图等?

希望我有意义。 谢谢阅读。

3 个答案:

答案 0 :(得分:3)

是否应该在单独的ASP.NET应用程序中托管WebAPI而不是MVC项目是值得商榷的。两种方法都是正确的。例如,如果您不希望将WebAPI公开给公众,则可以将其托管在只能由MVC应用程序访问的某个内部网络中。如果您想将其公开给公众,那么您可以将它与MVC应用程序一起托管。因此,您是否想要向公众公开HTTP API真的取决于它。

答案 1 :(得分:2)

3层体系结构并不意味着(在一般情况下)SOA(面向服务的体系结构)。如果您真的需要SOA - 最好为API项目(服务)和Web UI(Presentation)分别创建项目。但是如果你只需要SOA并且不需要REST服务(用于公共访问)那么最好使用WCF而不是WebAPI。

答案 2 :(得分:0)

Marcel,你的MVC是用于定义你的表示层的模式,你也可以使用WebForms,但是你选择了MVC,

您还必须创建业务层和数据访问层。这些层独立于MVC。

选择MVC只是为了方便单元测试(Controller),方便将来改变视图的技术,将业务逻辑与演示分开......