一个项目中的最佳实践webapi/网站



我正在创建一个新的网站和web api。使用VS2013模板,我选择了webapi模板(带有个人登录)。该模板创建了一个mvc asp网站。

将我的网站与我的web api放在同一个项目中有什么问题吗?或者我应该在我的解决方案中创建两个项目吗。一个用于API,一个用于网站?

我正在考虑允许桌面应用程序也使用api。

正如Brian所说,没有错,但这不仅仅是关于代码组织,如果您将它们托管在同一个项目中,则不需要为API启用CORS。如果您正在构建SPA(从浏览器发出XHR请求),则它们都将在同一域中。从安全性角度来看,这也会变得复杂,因为你将为MVC应用程序使用cookie,为API使用承载令牌。我不太喜欢VS 2013 Web API模板和单独的帐户,因为它添加了许多中间产品和样板文件代码,您可能需要使用或不知道它的功能。我的建议是从一开始就把它们分开,并控制这两个项目。您可以在这里阅读更多关于如何从头开始构建API和您需要的组件的信息。

否在ASP.NET MVC项目中包含WebAPI代码没有任何"错误"。最简单地说,在一个单独的项目中拥有WebAPI只是代码组织,在另一个项目中拥有任何代码都是关于代码组织的。如果你的项目很小,将保持较小,并且你是唯一一个从事该项目的人,那么将API留在与ASP.NET MVC网站相同的项目中是可以的。

但是,如果您希望其他人参与该项目,如果您期望代码库增长。然后,您应该从一开始就很好地组织代码,并将WebAPI放在一个单独的项目中。

但对于一个简短的答案:这是错误的,你应该在每一刻都严格组织你的代码,否则它会失控,杂乱无章,将来很难维护。

因此,将WebAPI放在一个单独的类库项目中。

最新更新