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

使用具有3层体系结构的ASP.NET WebApi,asp.net,asp.net-web-api,Asp.net,Asp.net Web Api,我一直在努力掌握ASP的使用。NETWebAPI最近,我看了很多教程,读了很多资料,但没有找到我需要的信息。这可能是一个非常基本的问题,但我的想法是用IIS托管我的webapi,目标是一个3层架构,比如表示层、业务日志和数据访问 现在,我为我的表示层创建了一个MVC4项目。但是,我不太了解的是,我是否需要为我的业务逻辑创建另一个带有WebAPI模板的MVC4项目,并去掉所有控制器、视图等 希望我说的有道理。 谢谢你的阅读 您是否应该在MVC项目之外的单独ASP.NET应用程序中托管WebAPI还

我一直在努力掌握ASP的使用。NETWebAPI最近,我看了很多教程,读了很多资料,但没有找到我需要的信息。这可能是一个非常基本的问题,但我的想法是用IIS托管我的webapi,目标是一个3层架构,比如表示层、业务日志和数据访问

现在,我为我的表示层创建了一个MVC4项目。但是,我不太了解的是,我是否需要为我的业务逻辑创建另一个带有WebAPI模板的MVC4项目,并去掉所有控制器、视图等

希望我说的有道理。
谢谢你的阅读

您是否应该在MVC项目之外的单独ASP.NET应用程序中托管WebAPI还有争议。这两种方法都是正确的。例如,如果您不想向公众公开WebAPI,您可以将其托管在只有MVC应用程序才能访问的内部网络中。如果您想将其公开,那么您可以将其与您的MVC应用程序一起托管。因此,这实际上取决于您是否想向公众公开HTTP API。

您是否应该在一个单独的ASP.NET应用程序中托管WebAPI,而不是在MVC项目中托管,这是有争议的。这两种方法都是正确的。例如,如果您不想向公众公开WebAPI,您可以将其托管在只有MVC应用程序才能访问的内部网络中。如果您想将其公开,那么您可以将其与您的MVC应用程序一起托管。因此,这实际上取决于您是否想向公众公开HTTP API。

Marcel,您的MVC是一种模式为了定义您的表示层,您也可以使用WebForms,但您选择了MVC

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


选择MVC只允许您促进单元测试(控制器),促进视图技术的未来变化,将业务逻辑与表示分离…

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

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


选择MVC只允许您促进单元测试(控制器),促进视图技术的未来变化,将业务逻辑与表示分离…

3层体系结构并不意味着(在一般情况下)SOA(面向服务的体系结构)。如果您真的需要SOA,最好为API项目(服务)和Web UI(表示)提供单独的项目。但是,如果您只需要SOA而不需要REST服务(用于公共访问),那么使用WCF而不是WebAPI可能会更好。

3层体系结构并不意味着(在一般情况下)SOA(面向服务的体系结构)。如果您真的需要SOA,最好为API项目(服务)和Web UI(表示)提供单独的项目。但是,如果您只需要SOA而不需要REST服务(用于公共访问),那么使用WCF而不是WebAPI可能会更好。

您好,Darin,谢谢您的回答。是的,我想向公众公开我的api。所以我的理解是将有两个独立的项目,我的mvc项目,然后我的webapi作为服务。没有必要。在这种情况下,两者都可以托管在同一个项目中。但是如果你愿意,你也可以把它们放在不同的项目中。嗨,达林,谢谢你的回答。是的,我想向公众公开我的api。所以我的理解是将有两个独立的项目,我的mvc项目,然后我的webapi作为服务。没有必要。在这种情况下,两者都可以托管在同一个项目中。但是如果你愿意的话,你也可以把它们放在不同的项目中。是的,需要公共访问。因此,单独的项目将是一条可行之路。谢谢,奥瑞尔。是的,需要公众访问。因此,单独的项目将是一条可行之路。谢谢你。