2012-07-29 3 views
3

ASP.NET MVC (버전은 중요하지 않음)에서 웹 서비스를 사용하여 실시간 업데이트를 얻는 방법에 대한 예제를 찾아서 특정 사용자의 브라우저 창.ASP.NET MVC - 웹 서비스를 사용한 실시간 업데이트

완벽한 예는 새로운 메시지를 확인하는 페이지에서 자바 스크립트 타이머를 만드는 대신 메시지가 게시 될 때마다 응답이 적절한 브라우저 (클라이언트)로 전송되는 facebook의 채팅 시스템 유형입니다. 5 초마다. 거기에 동기 프로그램의 유형에 대한 시간의 톤을 들었지만, 코드 에서이 타사 소프트웨어를 사용하지 찾고 있어요. 내가 ASP.NET MVC 기반으로 SQL과 웹 서비스 인 웹 브라우저 채팅 클라이언트를 만들려고 해요

: 내가 특별히 할 찾고 있어요 무엇

. 시스템에 로그인 된 2-4 개의 다른 사용자 이름을 가지고 SQL 데이터베이스에 저장된 메시지를 서로 채팅하고 보내면 새로운 항목 (또는 누군가 새로운 메시지를 보낸 사람)이 웹 서비스에이 변경 사항이 표시됩니다 수신 사용자에게 새로운 업데이트 메시지를 보여줍니다. E.G 전체 채팅 웹 서비스를 사용하여 동기화 된 채팅.

일반적으로 나에게 정말로 과격한 일은 새로운 것이 SQL 테이블에 추가되었는지 감지하는 방법이 없으며 SQL에서 특정 사용자의 웹 브라우저로 정보를 보내는 방법을 알지 못합니다. 그래서 사람들 userA, userB, userC가 모두 웹 사이트에 있다면, 나는 userC 아래에 모두 "guest"라는 메시지 만 표시하는 방법을 모르겠습니다. 나는 내가 지금 만들고자하는 것뿐만 아니라 미래의 프로젝트를 위해서도이 기능을 수행하는 것이 뜨겁다는 것을 알고 싶다.

누구나 올바른 방향으로 나를 가리킬 수 있습니까? 나는 SQL을 꽤 잘 알고 있으며, 웹 서비스는 내가 중급이라는 것을 알고있다.

+6

적 [SignalR] 들어 (http://signalr.net/)? – MilkyWayJoe

답변

2

이 작업에는 SignalR을 사용할 수 있습니다.

통해 스콧 Hanselman은 : SignalR

  1. 설치 Asp.net MVC 빈 응용 프로그램

  2. 만들기 nuget 패키지

  3. (예 HomeController로) 새로운 컨트롤러를 추가

    공용 클래스 HomeController : 컨트롤러 { public ActionR esult Index() { 돌아 가기 View(); } }

  4. 자바 스크립트 참조가보기 색인 만들기 : Url.Content ("~/스크립트/JQuery와-1.6.4.min.js") " "Url.Content @ ("~/스크립트 @ 을 /jquery.signalR.js ")" 과 기능 :

    $(function() { 
        var hub = $.connection.chatHub; 
        hub.AddMessage = function (msg) { 
         $('#messages').append('<li>' + msg + '</li>'); 
        }; 
        $.connection.hub.start().done(function() { 
         $('#send').click(function() { 
          hub.send($('#msg').val()); 
         }); 
        }); 
    });  
    
  5. 클래스 ChatHub 만들기 :

    공용 클래스 ChatHub : 허브 { 공공 무효 보내기 (문자열 메시지) 를 { 클라이언트.AddMessage (메시지); } }

+0

나는 누군가가 다른 사람의 코드를 사용하고 싶지 않기 때문에 어떤 메시지를 받아야 하는지를 어떻게 결정할 지 이해하지 못합니다.이 연습을 채팅 프로그램 이외의 다른 목적으로도 사용할 수 있어야하기 때문입니다. . – eqiz

+1

SIGNALR은 실시간 웹 애플리케이션 요구 사항을 지원하는 라이브러리이며 위의 코드는 블로그의 샘플 일 뿐이며 사용자의 특정 메시지 브로드 캐스팅을 포함하여 다양한 용도로 사용할 수 있습니다. 지금은 메시지 대기열을 원한다면 .Net의 다른 라이브러리에 대해서는 알지 못합니다. – kunjee

관련 문제