【发布时间】:2022-01-06 15:57:21
【问题描述】:
我的目的是,我希望数据进来,并且这个传入的数据被连续返回。
我把AddValue方法放在while里是因为我想一直添加数据。 并返回 al 时间
我的问题是我在 Hub 中调用 GetValues 但它返回为 null 我尝试了很多不同的
public class StockCaller
{
public static ConcurrentDictionary<string, Stock> _stock = new ConcurrentDictionary<string, Stock>();
public async Task AddValue()
{
while (true)
{
string[] symbols = new string[6] { "USD", "EUR", "ATLAS", "GARAN", "ISBNK", "AKBNK" };
Random random = new Random();
foreach (var item in symbols)
{
Stock stock = new Stock()
{
symbol = item,
price = random.Next(100, 500),
percent = random.NextDouble(),
};
await AddValueAsync(stock);
}
}
}
public async Task AddValueAsync(Stock stock)
{
_stock.TryAdd(stock.symbol, stock);
await Task.CompletedTask;
}
public Task<ICollection<Stock>> GetValues()
{
return Task.FromResult(_stock.Values);
}
}
我的集线器是 我把GetValues方法放在while里,因为我想让数据一直来。
public class MyHub : Hub
{
public readonly StockCaller _stock;
public MyHub(StockCaller stock)
{
_stock = stock;
}
public async Task SendRandomCharacter()
{
//TcpServer can be useable
while (true)
{
var result = await _stock.GetValues();
await Clients.All.SendAsync("receiveMessage", result);
}
}
}
【问题讨论】:
标签: c# .net-core signalr signalr-hub