使用 signalR 的一些更高级的方法怎么样?
在你的工人中,你需要
Clients.updateGaugeBar(percentage);
JavaScript 中更新时调用的方法
var progressHub = $.connection.progressHub;
// Some config work
// Open the connection
$.connection.hub.start();
progressHub.updateGaugeBar = function (perc) {
$("#bar").html(GaugeBar.generate(perc));
};
在javascript中显示进度(您可以使用任何您喜欢的进度显示方法)。如果您不喜欢百分比,您可以返回您喜欢的任何其他消息并将它们显示给用户。
var GaugeBar = GaugeBar || {};
GaugeBar.generate = function (percentage) {
if (typeof (percentage) != "number")
return;
if (percentage > 100 || percentage < 0)
return;
var colspan = 1;
var markup = "<table class='gauge-bar-table'><tr>" +
"<td style='width:" + percentage.toString() +
"%' class='gauge-bar-completed'></td>";
if (percentage < 100) {
markup += "<td class='gauge-bar-tobedone' style='width:" +
(100 - percentage).toString() +
"%'></td>";
colspan++;
}
markup += "</tr><tr class='gauge-bar-statusline'><td colspan='" +
colspan.toString() +
"'>" +
percentage.toString() +
"% completed</td></tr></table>";
return markup;
}
更详细的描述
http://msdn.microsoft.com/en-us/magazine/hh852586.aspx