我正在创建一个新的网站和网络api。使用VS2013模板,我选择webapi模板(带有个人登录)。该模板创建一个mvc asp站点。
让我的网站和我的web在同一个项目中有什么问题吗?或者我应该在我的解决方案中创建两个项目。一个用于API,另一个用于网站?
我正在考虑允许桌面应用程序也使用api。
发布于 2014-10-07 05:05:50
不,在WebAPI MVC项目中包含ASP.NET代码没有什么“错误”。最简单的是,将WebAPI放在单独的项目中仅仅是代码组织,而在另一个项目中拥有任何代码都是关于代码组织的。如果您的项目是小的,将保持较小,并且您是唯一一个在项目上工作的人,而不是将API留在与ASP.NET MVC网站相同的项目中。
但是,如果您期望其他人在项目上工作,如果您期望代码库会增长。而不是从一开始就组织好您的代码,并将WebAPI放在一个单独的项目中。
但对于一个简短的答案:它是错误的,你应该总是紧密组织你的代码在任何时候,否则它会失去控制,杂乱无章,难以维护在未来。
因此,将WebAPI放在一个单独的类库项目中。
发布于 2014-10-07 05:29:16
正如Brian说的,没有什么问题,但这不仅仅是关于代码组织,如果您将它们托管在同一个项目中,那么如果您正在构建SPA (从浏览器发出XHR请求),则不需要为API启用CORS,它们将位于相同的域中。同样,从安全感知来看,它将变得复杂,因为您将为MVC应用程序使用cookie,为API使用承载令牌。我不太喜欢VS2013WebAPI模板与个人帐户,因为它添加了大量的中间产品和样板代码,您可能需要使用或不知道它的功能。我的建议是从一开始就把它们分开,并控制这两个项目。您可以阅读更多关于如何从头开始构建API和需要这里的组件的内容。
https://stackoverflow.com/questions/26228802
复制相似问题