2014-10-07 60 views
2

我正在创建一个新的网站和web api。使用VS2013模板,我选择webapi模板(单独登录)。该模板创建一个mvc asp网站。在一个项目中的最佳做法webapi /网站

将我的网站与我的web api放在同一个项目中是否有任何问题,或者是否应该在我的解决方案中创建两个项目?一个用于API,另一个用于网站?

我想让桌面应用程序也可以使用api。

回答

0

不,在ASP.NET MVC项目中包含WebAPI代码没有什么“错误”。最简单的是,将WebAPI放在一个单独的项目中仅仅是代码组织,在另一个项目中使用任何代码都是关于代码组织的。如果你的项目很小,将会保持很小,并且你是唯一一个在项目上工作的人,而不是像在ASP.NET MVC网站上那样将API留在同一个项目中。

但是,如果您希望其他人在该项目上工作,那么您希望代码库增长。比起你应该从一开始就组织好你的代码,并将WebAPI放置在一个单独的项目中。

但是对于一个较短的回答:这是错误的,你应该始终在每一个时刻严密地组织你的代码,否则它会失去控制,混乱和未来很难维护。

所以把WebAPI放在一个单独的类库项目中。

+0

谢谢,我知道这是要走的路,但试图证明采取简单的方法。 – ginalster 2014-10-07 05:45:58

3

正如Brian所说没有错,但它不仅仅是代码组织,如果你将它们放在同一个项目中,那么如果你正在构建SPA(从浏览器发出XHR请求),则不需要启用CORS API, ,他们都将在同一个域名上。 从安全性的角度来看,它会变得复杂,因为您将为MVC应用程序使用Cookie,并为API使用不记名令牌。对于VS 2013 Web API模板和个人账户,我并不是很喜欢,因为它添加了大量可能需要使用或不知道其功能的中间件和样板代码。 我的建议是将它们从一开始分开,并控制这两个项目。 您可以阅读更多关于如何从头开始构建API以及您需要的组件here

+0

感谢您确认我不想接受的内容。 :)我现在将使用模板,但也会覆盖您的文章。 – ginalster 2014-10-07 05:47:14

相关问题