我有一个web api服务器,计数为1到100,线程休眠一秒。
// Prepare the test array (this is done before entering the counting loop)
Random rnd = new Random();
int[] array = new int[100]; // 100 or whatever....
for (int i = 0; i < array.Length; i++)
array[i] = rnd.Next(1, 101); // 1-100 range
// The max occurences of a number
int maxOccurence = 0;
// The number with the max occurences
int currentMax = 0;
// One bigger to accomodate the 100....
int[] occurrences = new int[array.Length + 1];
// Loop and check on the test array
for (int a = 0; a < array.Length; a++)
{
// The current number to examine
int number = array[a];
// Increment the occurences counter for the number
occurrences[number]++;
// Check if we have a new max....
if (occurrences[number] > maxOccurence)
{
// Save the new leader, both the new max occurence and number
maxOccurence = occurrences[number];
currentMax = number;
}
}
Console.WriteLine(maxOccurence);
Console.WriteLine(currentMax);
我想在Angularjs中每秒显示count的值。(作为进度条) 我可以用于此异步任务吗?我应该将计数值从web api推送到angularjs吗?它是如何工作的?
答案 0 :(得分:2)
我很确定我昨天在你的另一个帐户上给了你这个答案,但为了你的方便,我会在这里重复一个简短的版本。
通过单独使用这些框架,您无法将消息从ASP.NET Web Api推送到角度。如果Angular需要来自服务器的数据,Angular需要从服务器请求此数据。如果要将消息从服务器推送到客户端,则需要使用SignalR或Websockets之类的东西。如果您不想使用它们,则必须在Angular中设置定期计时器,例如通过使用JavaScripts setInterval()
- 方法,您有角度从web api请求当前计数。