我们有一个ASP.Net应用程序的3层架构,它使用SQL后端构建,并在过去的2年中在生产环境中运行。使用Web API的ASP.Net应用程序中的架构问题
现在我们计划通过通过Web-API公开数据来开始开发该应用程序的第2版。所以,我们正忙于为该架构实现创建POC。
问题是,我们有一个包含3个项目(ASP.NET + BAL + DAL)的现有解决方案。所以,我计划用Web-API替换DAL,因为它本身包含与后端数据库交互的模型。 我为Web-API创建了一个单独的解决方案。在我的POC中,Web-API运行在单独的端口(ex:localhost:122)
&我的ASP.NET应用程序运行时使用默认端口(ex:localhost:80)
。从我的ASP.NET应用程序中,当我调用Web-API控制器时,它不返回结果。但在检查Web-API如"http://localhost:122/api/Products"
时,我收到了回复。
在google看到示例架构的时候,人们在主要的(ASP.NET + BAL + ServiceLayer)解决方案中引入了“服务层”,并不断调用服务层将在内部调用原始(withich与数据库连接) API。这是唯一的方法吗?
如果我的假设错误,请纠正我。
是的,我可以在我的Web-API中添加BAL,DAL的参考。但我的问题是,为什么我不能直接在ASP.NET应用程序中使用来自Web-API(运行在不同端口)的数据。 –
这些调用是由ASP.NET应用程序中的Javascript进行的。还是服务器端? –
@KarthickJ。因为DAL接口太细腻,所以对于HTTP来说它们太嘈杂,并且它们需要对事务的支持。 HTTP只是没有针对这种交互方式进行优化。 –