1

我知道这可能没有一个简单的答案,但我希望有人能指出我正确的方向......

我们公司的办公室有一个带有自己的 MS SQL 数据库的 ASP.NET webforms 应用程序,但现在我们想在这个应用程序中显示来自另一个 MS SQL 数据库的一些数据,该数据库不在我们公司的办公室。我们需要在服务器端请求数据,所以不能直接从网络浏览器请求。

我们不想使用直接 sql 连接到这个远程数据库,而是更愿意创建一个可以在返回数据之前执行一些业务逻辑的服务。业务逻辑非常简单(例如检索一些值结束返回平均值)。

几年前,我们通过使用 BasicHTTPBinding 编写 WCF 服务几乎做了同样的事情。

但是现在,在做了几个小时的研究之后,我对什么是最好的方法有点困惑?

  • WCF 服务
  • WCF 数据服务
  • ASP.NET Web API
  • 信号R

也许有人可以给我一些好的建议?

4

1 回答 1

0

您正在寻找机器对机器的通信,在这种情况下,根据我的经验,WCF 仍然胜过其他人。

您只需为希望交换的实体定义数据协定,然后愉快地在 WCF 服务中编写逻辑代码。然后你生成一个客户端,应用适当的绑定(给定机器对机器,net.tcp 看起来像是一个有效的候选者)然后他们就开始说话了。

至于其余的:WCF 数据服务 - 如果您的数据模型与数据库模型匹配,则效果很好,而这种情况几乎不会发生。当您需要自定义操作或希望返回与数据库实体不同的实体时,数据服务比普通 WCF 更麻烦。

ASP.NET Web API 和 SignalR 主要用于从浏览器中使用。为那些生成强类型的客户端更加困难。

于 2013-06-26T09:36:41.813 回答