none
스토어 앱에서 알림(Notification)을 보내는데 404 Not found 에러 발생 RRS feed

  • 질문

  • 스토어 앱에서 Azure notification hub 기능을 사용하여 알림을 보내는데 404 Not found 에러가 발생합니다

    코드 부분:

             string payloadMessage = String.Format(@"<toast><visual><binding template=""ToastText01""><text id=""1"">{0}</text></binding></visual></toast>", message);
                var connectionString = ConfigurationManager.AppSettings["NotificationHubConnectionString"];
                var notificationHubName = ConfigurationManager.AppSettings["NotificationHubName"];
                NotificationHubClient hub = NotificationHubClient.CreateClientFromConnectionString(connectionString, notificationHubName);
                var result = await hub.SendWindowsNativeNotificationAsync(payloadMessage);  // <<<<

    에러 내용:

    {"Message":"An error has occurred.","ExceptionMessage":"The remote server returned
    an error: (404) Not Found. No service is hosted at the specified
    address..TrackingId:bfb3d613-f9ee-40d3-81e6-6f355d6557c0_G0,TimeStamp:...생략...AM","ExceptionType":"Microsoft.Azure.NotificationHubs.Messaging.MessagingEntityNotFoundException","StackTrace":"  
    at
    Microsoft.Azure.NotificationHubs.Common.AsyncResult.End[TAsyncResult](IAsyncResult
    result)\r\n   at
    Microsoft.Azure.NotificationHubs.NotificationHubManager.EndSendNotification(IAsyncResult
    result)\r\n   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult
    iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean
    requiresSynchronization)\r\n--- End of stack trace from previous location where
    exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task
    task)\r\n   at
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
    task)\r\n   at
    System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n   at

    ..(생략)..


    • 편집됨 Jng.Kim 2016년 11월 25일 금요일 오전 8:34
    2016년 11월 25일 금요일 오전 8:30

답변

  • 답변:

    SendWindowsNativeNotificationAsync() 함수 수행시 해당 notification hub로 알림 메시지를 보내야 하는데, 해당 hub를 찾지 못하여 발생합니다.

    가장 흔한 이유는 connection string이 맞지 않거나("NotificationHubConnectionString"의 설정 부분이 잘못됨) notificationHubName이 맞지 않을 경우("NotificationHubName"의 설정 부분이 잘못됨)입니다.

    해결방법은

    (1) Azure portal에서 생성한 해당 Notification Hub의 Hub Name이 스토어 앱의 "NotificationHubName" 설정과 동일한지 확인

    (2) 생성한 해당 Notification Hub에 대하여, Settings - Access Policies 메뉴에서 DefaultFullSharedAccessSignature 항목에 해당하는 connection string 값과 스토어 앱의 "NotificationHubConnectionString" 설정과 동일한지 확인합니다.




    • 편집됨 Jng.Kim 2016년 11월 25일 금요일 오전 9:06
    • 답변으로 표시됨 Jng.Kim 2016년 11월 25일 금요일 오전 9:16
    2016년 11월 25일 금요일 오전 9:03