我想最终解耦现有的ASP.NET MVC项目。
随着时间的推移他们使用多种方法,我正在学习:
现在我想通过使用更重的javascript方法,通过将像Knockout,Angular,Backbone e.t.c这样的库放入游戏中来转向更具动态性的前端。但是我还想要足够灵活和快速,如果我想从我的控制器动作中返回一个准备好的部分视图。
所以我想要集中我的业务层,而不是在我的MVC项目中有共同项目的形式,但是在我的业务层上方有一个中央WEB API端点,而DAL将为我的各个前端服务(它可以是MVC) ,控制台应用程序,通知等)
此:
DAL - >业务层 - > WEB API
之后我想知道如何从各个点连接到WEB API输出:
纯JS:直接来自带有ajax调用的WEB Api端点
2。 .NET应用程序(MVC,WinForms e.t.c):究竟是什么程度?
我的问题主要是关于上面的#2。我想要了解如何从Windows窗体或MVC控制器操作中使用我的中央WEP API的特定用例
答案 0 :(得分:2)
这称为Service Oriented Architecture。
对于#2,您有以下选项从.NET客户端调用RESTful服务(无论是ASP.NET MVC还是WinForms):
无论哪种方式,我建议查看HttpClient完全支持的async / await模式。它会让你的生活变得更轻松,特别是对于WinForms来说。
关于#1,没有什么能阻止你将JavaScript前端调用到Web API中。只是careful with CORS,因为我认为您可能需要它(通过拥有多个Web客户端,可能部署在不同的域上)。