.NET 服务器使用响应式扩展发送事件

.NET Server Sent Events with Reactive Extensions

我正在尝试实现 SSE (Server Sent Events) model with client an IHM in HTML5/JS and server side C#. I'm using a COTS,它在 .NET 中实现带有 Reactive Extensions 的事件驱动的 http 服务器。

客户端

var evtSource = new EventSource("http://127.0.0.1:4444");
source.onmessage = function(event) 
{
document.getElementById("result").innerHTML += event.data + "<br>";
};

1.The 浏览器告诉我 "Cross-Origin Request" 已被拒绝。我在同一个域,这正常吗?

2.Is 可以让这个http服务器做SSE吗?如果这不可能,您是否知道一些实现 SSE 服务器端的 .NET 库(无 copyleft)?

感谢您的考虑。

  1. cross-origin 可以通过将 "Origin:*" 添加到 headers 来修复。这可以根据您的体系结构在不同的地方完成。使用 MVC 可以在 global.asax 中设置它。使用 owin auth 时,您可以使用以下行在配置身份验证的位置进行设置:config.EnableCors();我敢肯定在谷歌搜索 'cross-origin'.
  2. 时可以找到很多东西
  3. 我对 SSE 不熟悉。但如果它不适合您,您可以查看 SignalR。(http://www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-net-client) 我在构建一个带有聊天功能的网站时发现它很容易实现。