Cyb*_*axs 3 architecture asp.net-mvc asp.net-web-api
在过去几年中,我看到许多Web API的兴起 - 通过普通HTTP而不是通过更正式的服务契约(如SOAP或WS*)暴露的服务.微软刚刚推出了一个名为"ASP.NET Web API"的新框架,可以轻松构建可覆盖广泛客户端的HTTP服务.事件,如果我是.net粉丝,它是另一个通信框架(在asmx,wcf,ria,...之后).现在,作为一个快乐的建筑师,我必须决定技术.
Asp.net Web Api真的是新架构的不错选择吗?还记得Linq2Sql,我不想投资"一次性"api.
在WCF中是否仍然使用WebBindings?
就堆栈溢出问题而言,这个问题的问题在于它基本上是主观的.结果我很确定它会被关闭 - 但是我会坚持我的2便士(实际上它更像是2英镑),如果它被关闭那么就是它.
首先,Linq2Sql不是"一次性的"它仍然存在并且不会消失 - 它还没有被开发 - 这完全是另一回事.
无论如何 - Asp.Net Web API是来自Asp.Net MVC上工作(编辑)的同一团队的许多人的REST Web服务支持的形式化,并使用非常类似的方法来实现可扩展性,流水线操作,交叉关注(例如身份验证,日志记录,验证等等.您是否使用它完全取决于您是否打算开发RESTful Web服务.如果你是,并且你使用.Net 4+,那么在我看来你不会生气.
Web API中的整体架构非常好,您可以在不花费太多精力的情况下扩展其中的大部分内容.特别是,他们处理内容协商的方式非常好,例如,使得支持JSON请求但仅仅因为客户端发送Content-Type:application/json和返回XML响应而变得微不足道Accepts:application/xml.
作为服务器技术,它也非常快; 部分原因是它完全异步(增加可伸缩性),但也因为请求进入被调用的代码之间的堆栈非常浅.
不仅如此,您还可以在IIS和任何.Net应用程序中托管它 - 这会增加您的托管选项,但也使其成为公共网络(即非Internet)环境中的网络内通信的候选者.
但是,如果您想编写SOAP或WS-HTTP服务,那么,不,Web API不适合您 - 您将坚持使用WCF.
简而言之 - 您需要将Asp.Net Web API简单地视为在.Net上运行的服务器和客户端技术,而不是协议或Web体系结构.它使您能够构建RESTful Web服务 - 您也可以在MVC,WebForms(如果您真的想要),.ashx处理程序或编写自己的HttpListener中执行此操作.
你选择哪一个完全取决于你自己决定.
| 归档时间: |
|
| 查看次数: |
1287 次 |
| 最近记录: |