两个ASP.NET核心服务器应用程序之间的通信最佳方式?

时间:2017-01-03 18:36:08

标签: c# asp.net asp.net-core asp.net-core-mvc asp.net-core-webapi

我有两个ASP.NET Core Web应用程序(在不同的物理服务器上),都使用EF Core。虽然两者都是“服务器”,但也可以从另一方收集数据(即其中一个也是“客户”)。

ASP.NET Core是不同的,因为没有“MVC”和“WebAPI”,它结合了两者。我不确定要使用哪些新API。

我应该如何将数据从一个传输到另一个?

我最初的想法是“客户端”应用程序具有经过身份验证和授权的GET操作,该操作会返回数据。但是怎么样?它可以直接返回EF实体,还是负责JSON的序列化?它应该返回IActionResult还是别的?它应该是常规还是AJAX请求? OWIN是否与此有关?

ASP.NET Core现在有哪些智能技术?我不需要解决方案,只需要指向正确的方向。

2 个答案:

答案 0 :(得分:2)

虽然框架可能有新的帮助方法/对象/等。在这里或那里,客户端和服务器之间的HTTP通信没有任何改变。实际上,从客户的角度来看,无论使用何种技术,服务器都没有区别。

  

可以直接返回EF实体

确实可以,就像Web API过去一样。简单的事情:

public Widget Get(int id)
{
    return _widgetRepository.Get(id);
}

(假设在这里实现某种类型的存储库,但你明白了。)

此默认HTTP响应通常是JSON格式的响应正文和200 OK响应代码。您可以通过各种框架帮助程序对此进行更多控制,对其中几个here进行了很好的概述和介绍。

无论您如何从服务器返回任何给定结果,客户端仍然会像其他任何一样获得HTTP响应。代码,标题,内容等

答案 1 :(得分:-1)

SignalR

..再加上一些字符,所以我可以通过最后30个字符的验证。