Web API - 事件通知

may*_*lle 4 c# asp.net events web-services asp.net-web-api

我需要一种方法,通过Web API向ASP.NET Web API的客户端(C#应用程序)通知某些更改.他们甚至不需要知道更改是什么,只需要获得更改的通知(此时由客户端调用API以获取他们在获取通知后可能需要的任何特定数据).我不确定实现这一目标的好方法是什么样的.

我想一种方法可能是创建事件,并以某种方式让客户端订阅这些事件,但我不知道如何通过Web API这样做.

我在Google上发现了一些SignalR的提及,但这似乎需要付出很多努力,而且似乎比我需要做的更多.

我所需要的只是让Web API能够告诉客户"改变了一些东西,来得到它".但是,我想避免投票.最快/最简单的方法是什么?

jeb*_*ar8 7

你真的只有两个选择:

  1. 使用SignalR或任何类型的Websocket框架.
  2. 让客户端应用程序轮询API以查找更改.

Web API在设计上是无状态的.API不与任何客户端应用程序保持任何类型的连接或状态信息.因此,实际上没有办法像传统的C#事件那样实现.

  • 据我所知,@ Dimi答案仍然有效。除非您有其他信息要添加。如果是这样,请自行编辑答案。 (2认同)

Pio*_*rak 5

SignalR将是最酷的方式;)

但最简单的事情就是每X一次轮询服务器并询问"有没有改变?".