2017-04-17 1 views
2

Comment envoyer une notification à l'aide de la bibliothèque Webpush. Je tentais mais son msg d'erreur jette comme {"Received unexpected response code"}WebPush {"Code réponse inattendue"}

**** Maintenant, j'ai créé API Web pour envoyer une notification & vous appeler par Fiddler, mais n'a pas obtenu exception, il est coincé quelque part ici est mon exemple de code ****

public void Sendnotification() 
     { 
      try 
      { 
     WebPush.VapidDetails vapidKeys = apidHelper.GenerateVapidKeys(); 
     string subject [email protected]"mailto:xyz.com"; 
     string publicKey = Convert.ToString(vapidKeys.PublicKey); 
     string privateKey = Convert.ToString(vapidKeys.PrivateKey); 

     var subscription = new PushSubscription(pushEndpoint, p256dh, auth); 
     var vapidDetails = new VapidDetails(subject, publicKey, privateKey); 

     client.SendNotification(subscription, "payload", vapidDetails); 
      } 
      catch (WebPushException e) 
      { 

      } 
     } 

J'ai configuré Https permis d'appeler à l'aide api Fidder. S'il vous plaît, regardez. aussi sa throws erreur, il coincé quelque part enter image description here

maintenant il a obtenu l'erreur s'il vous plaît avoir l'air, il est montrant erreur HTTP/1.1 410 NotRegistered enter image description here

See the full screen of Fiddler response error details

+0

Utilisez un renifleur comme wireshark ou fiddler pour obtenir plus de détails sur l'erreur. Si vous pouvez effectuer la même requête en utilisant un navigateur que de comparer les résultats du navigateur avec votre application. La plupart des erreurs de ce type sont causées par des en-têtes html manquants dans votre requête. – jdweng

+0

s'il vous plaît mettre à jour votre question avec du texte et non des images, btw je reçois la même erreur qui est 410, pas enregistré comme réponse –

+0

J'utilise la ligne de commande pour tester le but d'envoyer une notification sur l'application web en utilisant la bibliothèque WebPush. Pouvez-vous s'il vous plaît me dire quelle est la procédure pour cela. Si vous me fournissez un échantillon, alors ce sera très bon –

Répondre

1

Si vous obtenez l'erreur (pour vérifier l'erreur utiliser fiddler pour intercepter l'appel https), probablement ce que vous avez est une erreur dans les données d'abonnement de l'utilisateur probablement les clés stockées dans votre base de données ne correspond pas l'abonnement dans le navigateur, une solution facile pourrait être de réinscrire et de réenregistrer les données d'abonnement et réessayer. Pour configurer le fiddler, vous devez l'utiliser comme un studio visuel proxy pour intercepter les appels https et vous devez également activer le décryptage https.

EDIT

vous pouvez configurer Fiddler en ajoutant simplement cette configuration dans votre web.config ou app.config:

<system.net> 
<defaultProxy 
    enabled = "true" 
    useDefaultCredentials = "true"> 
<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" /> 
</defaultProxy> 
</system.net> 

si dans tous les cas, vous obtenez l'enregistrement non autorisé vérifier cette question :

Web Push API Chrome, returning "Unauthorized Registration"

WebPushError and UnauthorizedRegistration when try to send push notification to Chrome and Opera, FF is OK

+0

S'il vous plaît laissez-moi savoir comment envoyer une notification sur l'application web en utilisant webpush bibliothèque –

+0

maintenant j'ai créer Web API pour l'envoi notificaton & appelé en utilisant Fiddler mais il a été coincé quelque part n'a pas à travers aucune exception dans ce –

+0

juste intercepter les appels https avec fiddler, l'utiliser comme un proxy dans le studio visuel, vérifiez ma mise à jour –