在相同或不同的项目中使用WebAPI有什么优缺点

时间:2015-05-19 15:51:50

标签: asp.net-mvc entity-framework web-services asp.net-web-api asp.net-web-api2

我有一个MVC应用程序,解决方案包括三个项目,如下所述:

Store.Domain:保存域实体和逻辑(使用实体框架创建的存储库)。

Store.WebUI:保存控制器和视图;充当应用程序的UI。

Store.UnitTests:保留其他两个项目的单元测试。

我将在我的应用程序中使用WebAPI 2,以便为某些Android应用程序创建Web服务。现在我不确定以下问题:

1)通过牢记安全性和维护问题,我应该为WebAPI创建单独的项目还是在Store.WebUI项目中使用WebAPI?因为我还将安装WebAPI文档nuget,它将在项目中创建几个文件夹和文件,我认为创建一个新项目可能更好。

2)假设创建一个专门用于WebAPI的新项目,WebAPI项目的项目类型和选择是什么?屏幕截图中显示以下选项是否正确?

项目类型:ASP.NET Web应用程序
项目模板:只需选择Web API

即可

提前致谢。

enter image description here

1 个答案:

答案 0 :(得分:1)

WebApi是Microsoft的另一种面向服务的应用程序,就像WCF一样。但是WCF使用SOAP协议,而WebAPI使用HTTP协议进行通信。

因此,如果您使用WEBAPI为您的MVC应用程序提供服务,您将单独托管该WEB API服务并通过MVC应用程序使用其服务,

如果您希望在同一项目中使用它们(MVC和WebAPI),请遵循this article中的此规则。

希望有所帮助。