Я пытался использовать SignalR для поиска информации о пользователе в базе данных, когда пользователь вводит имя. К сожалению, он явно не работал на каждом 'ключе', и поэтому я предположил, что поиск в базе данных был слишком медленным.
Я изменил его на кнопку щелчка, но у меня та же проблема - я должен уйтибольшой разрыв между каждым поиском, несмотря на то, что результат появляется мгновенно.
public class RequestHub : Hub
{
public async Task GetData(string id)
{
await Clients.All.SendAsync("getMyData", MyData.GetName(id));
}
}
$("#look").click(function () {
var id = $("input[name='MyModel.Id']").val();
connection.start().then(function (value) {
connection.invoke("GetData", data);
});
});
connection.on("getMyData", function (id) {
$("input[name='MyModel.Name']").val(id);
});
MyModel.Name обновляется немедленно, но изменение текста и повторный поиск, похоже, не работают в течение 30 секунд или около того.
Мне было интересно, должен ли я использовать AJAX, но я никогда не использовал его раньше, и я использую SignalR для живых данных в других местах.
Редактировать: Фактическая ошибка
Error: Cannot start a connection that is not in the 'Disconnected' state
.