我们计划构建一个Web服务来检索数据并将数据发送到外部应用程序。
有人建议我们使用ASP.NET MVC项目。事实是,我们不会有任何看法。我们所做的只是查询并将输出返回给调用者。我质疑这个项目的使用。
他回答说你不需要使用MVC项目。他补充说我们可以利用URL路由功能。但是,我仍然持怀疑态度。
考虑到我们不会使用View,有没有理由在Web API上选择ASP.NET MVC?
您不需要在MVC中使用视图(或模型)。在这种情况下,MVC或Web API都可以同样运行。如果您不使用视图,则没有一个优势。
请注意,在ASP.NET Core中,现在没有任何区别 - 只有一个框架可供使用,它可以使用或不使用视图。
如果您真的想要提供某些服务,那么当您使用Web API时,它最有用。没错,没有必要在asp.net MVC中拥有视图,并且两者中的路由工作也更相似。
问题是,如果您需要对呼叫进行身份验证,那么我们如何对呼叫进行身份验证几乎没有区别。通常,Web API带有基于令牌的身份验证,而不是在asp.net MVC中使用cookie。
对于您当前的要求,最佳解决方案是Web API。
如果要返回视图,则应使用MVC控制器。您也可以从MVC Controller返回数据,但如果您只想返回数据(可以像HTTP服务一样使用它),则最好是用户WebAPI控制器。
使用Web API的优势是我可以说它很轻。因此,您可以使用Web API