【发布时间】:2016-05-29 01:11:56
【问题描述】:
好吧,也许我做错了,但是这里是:
我有一个在 dnxcore50 上运行的 ASP.NET 5 WebAPI 项目。它有一个非常简单的控制器,它只实现了Get() 方法:
public class Data : Controller {
public JsonResult Get(){
return Json(/*some data from EF*/);
}
}
此外,我还有 index.html 和 myscripts.js 文件,它们托管了一个非常简单的网页。
运行项目时,在http://localhost:5000打开,我可以浏览到index.html并可以调用
$.getJSON('/api/Data', function(data){
/*do stuff*/
});
所有这些都适用于所有 OSX 和 Windows。到目前为止一切顺利!
现在,我想要的是:当 API 被调用时(例如,另一个客户端调用 POST),它应该向 javascript 发送一条消息以显示一个事件。
我尝试了什么:
- 在 API 中设置标志并从 javascript 轮询。这似乎不是最理想的,但确实有效。
- 正在使用
socket.io,但我找不到与 dnxcore50 兼容的方式从控制器与其通信。 - 正在使用 HTML5
WebSockets,但似乎无法与控制器建立通信。
如何从 ASP.NET 5 (dnxcore50) 与 javascript 页面进行通信?
【问题讨论】:
-
您已经回答了自己的问题。您需要使用网络套接字或投票。
-
是的,但是如何在c#端使用websockets?
-
微软对 web sockets 的实现是signalR。这可能会使沟通更容易
标签: javascript asp.net-web-api websocket asp.net-core .net-core