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();
이렇게 하면 지불 이 완 료 된 후에 페이지 를 옮 길 수 있다.지금 은 더 좋 은 방법 이 생각 나 지 않 는 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기