1

基本上,我需要 ac# 服务器能够将数据发送回之前已将数据发送到服务器的 HTML5 网页。服务器正在从另一个应用程序检索数据,然后需要将该数据发送到要显示的网页。

此 c# 服务器在 .NET CF 3.5 上运行,因此 websockets 不是一个选项(不支持)。

我在其他地方看到了一些建议,但没有任何符合这种特殊情况的必要标准。大多数其他实现似乎都是基于网页将等待发送此数据的基础上工作的。

欢迎任何和所有建议!

4

3 回答 3

1

如果 websockets 不是一个选项,那么你就剩下Comet了。

客户端你可以做这样的事情:

(function poll(){
    $.ajax({ 
        url: "url",
        success: function(data) { /*display data*/ },
        complete: poll, 
        timeout: 30000 });
})();

这意味着将每 30 秒发送一次 ajax 请求。

这不如 websockets 性能好,但效果很好。

于 2013-09-20T13:37:06.970 回答
0

有两种方法可以做到这一点 :

使用 ASP.NET 网页

  1. 创建调用 javascript 函数的 HTML 元素
  2. 在 javascript 函数内部,使用 ajax 对 ASP.NET 网页(使用 C# 作为后端)进行 POST
  3. 获取ajax“成功”块中的返回值。
  4. 随心所欲地使用...

使用 JSON 字符串返回

  1. 创建调用 javascript 函数的 HTML 元素
  2. 在 javascript 函数内部,使用 ajax 对 Web 服务(使用 C# 作为后端)进行 POST,该服务返回一个 JSON 字符串。
  3. 以任何需要的方式使用返回的 JSON 数据。

我个人更喜欢 jSON,因为它模拟数据集,并且与 HTML 和 ajax 配合得很好。

于 2013-09-20T13:25:42.783 回答
0
  1. 创建一个 .aspx 页面并从中删除所有 HTML。称它为 GetData.aspx
  2. 在 GetData.aspx.cs 后面的代码中,您可以从 HTML5 页面接收 POST 数据。
  3. 做工作。

  4. 使用 jQuery。

  5. $.post("GetData.aspx",{name: value},function(json){ // 把处理指令放在这里 });
于 2013-09-20T13:14:07.227 回答