SignalR с Asp.net MVC
Я пытаюсь с 10 дней, но не могу решить мою проблему SignalR.Просто я хочу показать некоторые данные, используя signalR, Вот мой код **
public List<User> Get()
{
List<User> user = new List<User>();
using (SqlConnection conn = new SqlConnection(conString))
{
string query = @"SELECT [Name],[Address] FROM [dbo].[UserTable]";
SqlCommand comm = new SqlCommand(query, conn);
conn.Open();
comm.Notification = null;
SqlDependency dep = new SqlDependency(comm);
dep.OnChange += Dep_OnChange;
using (SqlDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
User users = new User();
users.Name = reader[0].ToString();
users.Address = reader[1].ToString();
user.Add(users);
}
}
}
return user;
private void Dep_OnChange(object sender, SqlNotificationEventArgs e)
{
if (e.Type == SqlNotificationType.Change)
{
MyHub hub = new MyHub();
hub.Send();
}
}
** Код контроллера:
public JsonResult GetAll()
{
NotificationComponent dc = new NotificationComponent();
var list = dc.Get();
return new JsonResult { Data=list,JsonRequestBehavior=JsonRequestBehavior.AllowGet};
}
это возвращает список пользователей, но не асинхронно (какожидается).
Мой код JS здесь.
<script>
function getAll() {
$.ajax({
type: 'GET',
url: '/Home/GetAll',
success: function (data) {
for (var i = 0; i < data.length; i++) {
$('#get').append("<li>Name: " + data[i].Name + "Address: " + data[i].Address + "</li>");
}
}
})
}
$.connection.hub.start()
.done(function () {
console.log("Hub Connected...");
})
getAll();
$.connection.myHub.client.notify = function () {
getAll();
}
</script>
Запросы Sql
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO [NT AUTHORITY\NETWORK SERVICE]
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO [NT AUTHORITY\IUSR]
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO [JANBAZ\JANBAZ KHAN]
ALTER DATABASE [SignalRDb] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE
это все, что я сделал, я думаю, что запрос является проблемой, пожалуйста, помогитеСпасибо заранее (VS 2017, IIS Version 10, Sql server2014, win 10)