当我可以创建基于Web的RESTful端点时,为什么要将OWIN用于基于服务的API?

时间:2015-01-28 02:16:42

标签: rest azure owin c#-5.0

我正在重写现有应用程序的体系结构,该应用程序将托管在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。

1 个答案:

答案 0 :(得分:0)

技术演讲

对于您的公共API,我建议以RESTful方式与Owin一起使用。这将为您的内部系统创建一个外观。

在内部,WCF将提供更好的表现。


<强>赞成

  • 通过良好的计划,维护更容易。由于其分散式设计,重构带来的风险包含在特定的环境中。维护就是最大限度地减少和控制与变更相关的风险。

这些链接更多地讨论SOA,但我确信您可以从中提取所需的信息:

<强> CONS

你应该知道,因为它也有缺点。您将需要可靠的单元测试,记录和版本控制策略。


希望这会有所帮助。我试图只保留基本要素,因为这个问题的完整答案可以作为一本书出版。