Signal R 페이지 이동 알림 보 내 는 방법
지금 생각 나 는 것 은 SigbalR 로 과도 한 페이지 를 뛰 어 다 니 라 는 통 지 를 보 내 는 것 이다.
첫 번 째,SigbalR 관련 dll 을 추가 합 니 다.
두 번 째 단계,사용자 정의 hub
public class myHub:Hub
{
public override Task OnConnected()
{
return base.OnConnected();
}
}
세 번 째 단 계 는 사용자 IdProvider 를 사용자 정의 합 니 다.지정 한 사용자 에 게 점프 알림 을 보 내야 하기 때 문 입 니 다.
public class CustomerUserIdProvider: IUserIdProvider
{
public string GetUserId(IRequest request)
{
//
var customer = EngineContext.Current.Resolve<IWorkContext>().CurrentCustomer;
if(customer==null)
{
return "";
}else
{
// id
return customer.Id.ToString();
}
}
}
네 번 째 단 계 는 startup 에 사용자 정의 UserIdProvider 를 등록 합 니 다.
//SignlR
var idProvider = new CustomerUserIdProvider();
GlobalHost.DependencyResolver.Register(typeof(IUserIdProvider), () => idProvider);
app.MapSignalR();
다섯 번 째 단 계 는 알 리 페 이 결제 완료 비동기 알림 에 이 줄 코드 로 알림 을 보 내 고 주문서 번호 인 자 를 입력 합 니 다.여기 서 order customerid 사용자 에 게 알림 을 보 냅 니 다.order customerid 는 현재 로그 인 자의 id 와 같 습 니 다.그래서 메 시 지 를 받 을 수 있 습 니 다.
var myHub = GlobalHost.ConnectionManager.GetHubContext<myHub>();
myHub.Clients.User(order.OrderCustomerId.ToString()).redirctOrderDetails(order.OrderNumber);
여섯 번 째 단 계 는 과도 한 페이지 에서 실 행 됩 니 다.
// , $.connection. ,
var chat = $.connection.chinookHub;
// , 1.0 chat.client ,1.0
chat.client.redirctOrderDetails = function (oerderNumber) {
window.location.href = "/Customer/MyOrderDetails?page=4&orderNumber=" + oerderNumber;
};
chat.client.redirctMoneyAccountDetail = function () {
window.location.href = "/Customer/AccountDetail/Money";
};
//
$.connection.hub.start();
이렇게 하면 지불 이 완 료 된 후에 페이지 를 옮 길 수 있다.지금 은 더 좋 은 방법 이 생각 나 지 않 는 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[React] GNB 현재 위치 표시현재 사용자가 어느 페이지에 있는지 표시하기 위해 페이지 이동 할 때마다 GNB color 변경 페이지 이동은 Link로, color 변경은 onClick 으로 단순하게 생각했었다. 페이지에 머무르는 동안에는 GNB...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.