2013-03-19 2 views
2

Так у меня есть список Просмотр внутри панели UpdateAsp.Net Signal R - обнаружение изменений в базе данных? Asp.net Web Forms

Update Panel 
    List View 
     Email 1 
     Email 2 
     Email 3 
      ... 

Я пытаюсь сделать почтовый ящик, похожий на GMAIL в ASP.NET, только я борюсь с том, как (например, при отправке нового сообщения) и нажмите это сообщение в ListView, чтобы имитировать, что пользователь получил новое сообщение (как и gmail)

Как использовать SignalR для обнаружения изменений базы данных и нажатия их в представление списка с помощью SignalR? Является ли это возможным?

ответ

4

Если вы используете Sql Server, перейдите по этой ссылке. http://techbrij.com/database-change-notifications-asp-net-signalr-sqldependency

В основном используется SqlDependency для подписания изменений на сервере Sql.

Если вы не используете Sql Server, вам нужно сделать это вручную. И для просмотра стороны вы можете использовать KnockoutJS или anngular для легкой модификации списка.

//Set up dependency 
protected void Application_Start() 
{ 
     //... 
    SqlDependency.Start(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); 
} 


protected void Application_End() 
{ 
    SqlDependency.Stop(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); 
} 


SqlDependency dependency = new SqlDependency(command); 
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange); 
2

Я не думаю, что вы можете использовать SignalR для обнаружения изменений в базе данных, но для изменения изменений на веб-сайте. Используйте что-то вроде SqlDependency или службы уведомлений SQL для обнаружения изменений в базе данных, а затем SignalR, чтобы вывести их на веб-страницу.