我理解并欣赏ASP.Net MVC 4 Web API为Web客户端带来的价值(当与Knockout,jQuery结合使用时)。但是,我不确定这是如何工作的服务器端的内部Web服务。离开Web API不是一种选择。从ASP.Net使用ASP.Net Web API 4 Web应用程序
我的要求是,我从jQuery调用相同的服务,也为ASP.Net MVC控制器(在UI上)需要的一些调用,这些调用不应该由JavaScript客户端访问。
我偶然发现了戴夫的这篇文章:http://encosia.com/rest-vs-rpc-in-asp-net-web-api-who-cares-it-does-both/。我知道我需要的是一种RPC风格(我习惯了WCF),Web API支持它。
这是一个Azure应用程序,所以我可以在此article中使用ACS来保护它。
我可以通过限制对我的服务器(URL)的调用来保护我需要的呼叫(可能是一个单独的API控制器)。
- 我假设我需要在我的前端控制器上使用HttpClient来使用这些信息。
- 我能否将我的结果序列化回前端控制器上的实体?
- 这种方法还有其他的选择吗?
- 最重要的是,这是一个可行的方法?
在此先感谢
不确定Web API在表示层的含义。假设是“服务”又名。在客户端上通过Javascript消费的中间层。但是,我确实看到了您采用一种更多重定向的观点(您通常会这样做,因为您不希望将所有逻辑都放入API控制器中)。感谢你的回答。它有帮助。 :) –
@VyasBharghava认为Web API作为中间层是一个常见的错误 - 尽管它可以被使用,例如, ASP.NET网站。如果它被jQuery使用,那么它在表示层提供一个外观。中层谈判领域模型,但在这里Web API谈判观点模型。 – Aliostad