분명히 뭔가를 망쳐 놓고 있습니다.하지만 문서를 제대로 읽은 것 같아서 통찰력이 필요합니다.SignalR이 올바르게 설정되지 않았습니까?
간단한 ASP.NET MVC5 응용 프로그램을 만들었으며 파일 상태에 대한 비동기 알림을 테스트하고 있습니다. 개념의 증거로 I : NuGet에서 SignalR을 설치
- 추가 내 레이아웃 페이지
- 추가 "스크립트"참조에 스크립트 참조 "~/signalr/허브"
나는 새로운과 같이 NotificationHub 만든이 후
public class Notification
{
public MessageLevels Type { get; set; }
public string Message { get; set; }
public string Title { get; set; }
}
public enum MessageLevels
{
Success,
Info,
Notice,
Error
}
public class NotificationHub : Hub
{
public void Notify(Notification model)
{
Clients.Caller.notify(model);
}
}
을 내 레이아웃에 다음 알림 스크립트를 추가 S 페이지 : 이것을 실행하면
public ActionResult Index()
{
System.Threading.ThreadPool.QueueUserWorkItem(state => SendNotification());
return View();
}
private void SendNotification()
{
Thread.Sleep(3500);
var context = GlobalHost.ConnectionManager.GetHubContext<NotificationHub>();
context.Clients.All
.Notify(new Notification
{
Message = "This is a test.",
Title = "Test Message",
Type = MessageLevels.Notice
});
}
, 내 웹 브라우저에서 다음 줄을 모니터링하고 있습니다 :
내 컨트롤러에서$(function() {
var messages = $.connection.notificationHub;
messages.client.notify = function(model) {
$.pnotify({
title: model.title,
text: model.message,
type: model.type
});
};
});
, 나는 통지를 테스트하기 위해이 같은 뭔가를
$.pnotify({
... 그러나 내 중단 점에 도달하지 못했습니다.
누군가 내가 뭘 잘못하고 있다고 제안 할 수 있습니까?
는 UPDATE :
$(function() {
var connection = $.hubConnection();
var notificationHubProxy = connection.createHubProxy('notificationHub');
notificationHubProxy.on('notify', function(model) {
$.pnotify({
title: model.title,
text: model.message,
type: model.type
});
});
connection.start()
.done(function() { console.log('Now connected, connection ID=' + connection.id); })
.fail(function() { console.log('Could not connect'); });
});
을 ... 그리고 중단 점은 지금에 도달하고 있습니다 :
는 halter73의 대답은 당,이 내 스크립트를 변경했습니다. 그러나 모든 나의 vars은 undefined로 돌아오고 있습니다 ... 나는 그걸 가지고 놀아야 할 것입니다. 나는 그것이 내 자본화와 관련이 있다고 기대한다.
는 흠 ... 그게 내가보고있는 설명서에서 확실히 다르다. –