우리는 현재 Windows Azure 용으로 개발중인 앱의 알림 기능을 구현하고 있습니다. Google은 사용자가 원하는 작업 (예 : 파일 가져 오기 및 내보내기 등)을 사용자에게 알리고 자합니다. 이 알림은 로그인 한 각 사용자에게 해당됩니다.FubuMVC.ServerSentEvents를 사용할 때 하나의 이벤트가 발생했습니다.
우리는 ServerSentEvents를 사용하고 있으며이 목록은 하나의 이벤트임을 알게되었습니다. 따라서 두 번째 작업이 수행되고 그 알림이 첫 번째 작업에 대한 알림이 될 때까지는 알림이 표시되지 않습니다. dev 환경에서는이 문제가 항상 발생하지만 Azure에서는 예상대로 작동하는 것처럼 보입니다 (때때로 !!!)
Event Queue 및 Channel Initialiser의 기본 구현을 사용하고 있습니다. 우리는 주제와 서브 레벤트를 전달하는 EventPublisher.WriteTo 메소드를 통해 발행합니다. 우리 ServerEvent의
public class UserNotificationsTopic : Topic
{
[RouteInput]
public Guid UserId { get; set; }
public override bool Equals(object obj)
{
return Equals(obj as UserNotificationsTopic);
}
public bool Equals(UserNotificationsTopic other)
{
if (ReferenceEquals(null, other)) return false;
return ReferenceEquals(this, other) ||
UserId.Equals(other.UserId);
}
public override int GetHashCode()
{
return UserId.GetHashCode();
}
}
구현 :
public class UserNotificationServerEvent : IServerEvent
{
public string Id { get; private set; }
public string Event { get; private set; }
public int? Retry { get; set; }
public object Data { get; private set; }
public UserNotificationServerEvent(string id, string @event, object data)
{
this.Id = id;
this.Event = @event;
this.Data = data;
}
}
어떤 도움, 제안 평가 될 것입니다
여기에 주제의 우리의 구현입니다!
감사
는스콧