我有一个使用帐户控制器来管理用户和资源的MVC 5 WebApi项目。它工作正常。
现在我需要添加相同的客户端功能,即与外部应用程序(iOS,Android,Windows Phone)。对于这个漏洞,我想使用WebApi。将WebApi添加到我的项目中的最佳做法是什么?我需要使用AccountUser授权,创建和登录新用户。我:Web Api集成
- 整合的WebAPI到现有项目
- 创建一个新的WebAPI项目和管理相同的分贝
什么是最好的做法?
感谢
我有一个使用帐户控制器来管理用户和资源的MVC 5 WebApi项目。它工作正常。
现在我需要添加相同的客户端功能,即与外部应用程序(iOS,Android,Windows Phone)。对于这个漏洞,我想使用WebApi。将WebApi添加到我的项目中的最佳做法是什么?我需要使用AccountUser授权,创建和登录新用户。我:Web Api集成
什么是最好的做法?
感谢
我会建议将您的共享代码(entites的,命令和查询等),以不同的类库和的WebAPI独立的MVC。这两个项目都可以使用共享代码。
原因是MVC层可能会以包含HTML,CSS和JavaScript的视图进行响应,而(Web)API层可能只返回JSON或XML。我总是想到问题的分离。
没有银子弹;你可以做到这一点。您需要自行决定哪种方法可行,通过比较差异并选择最适合您要求的方案。
有一点需要记住的是,两个项目意味着两个应用程序在IIS中,一个是因为你有两个Global.asax
初始化各自的应用程序。这可能会或可能不会带来好处。
不完全正确,因为WebAPI是自主宿主 – Luke
是的,在这种情况下,一个应用程序在IIS中,另一个在您自己的托管过程中......除非您无法将WebAPI托管为MVC站点的子站点(它们不能共享相同的基地址)。 – CodeCaster
但是,如果只使用一个项目(webapi + mvc)我需要为认证/注册用户创建分离的类? –
在这种情况下没有真正的最佳做法。只要你有一个两个项目正在使用的服务层,你就可以做到这一点。 – Luke