我正在重写现有应用程序的体系结构,该应用程序将托管在Azure上,并且至少有两个API - 一个是公共的,另一个是私有的,用于内部RESTful相关的CRUD调用。
主要技术堆栈是ODATA,WebAPI2,C#,MVC5,EF,AngularJS。我的想法是RESTful端点都将通过Azure Web角色公开(就像任何其他URL一样)。
在阅读有关OWIN and using it with the WebAPI and the Azure Worker Role的更多内容时,它似乎完全相同,但作为一种服务。
使用这个OWIN路由(我能想到它,我甚至可以写一个WCF服务来做同样的事情)而不是基于Web的RESTful API调用是否有任何优势?
我正在寻找一些理由,为什么我应该继续使用基于服务的API。
答案 0 :(得分:0)
技术演讲
对于您的公共API,我建议以RESTful方式与Owin一起使用。这将为您的内部系统创建一个外观。
在内部,WCF将提供更好的表现。
<强>赞成强>
这些链接更多地讨论SOA,但我确信您可以从中提取所需的信息:
<强> CONS 强>
你应该知道,因为它也有缺点。您将需要可靠的单元测试,记录和版本控制策略。
希望这会有所帮助。我试图只保留基本要素,因为这个问题的完整答案可以作为一本书出版。