Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WebPush{“收到意外响应代码”}_C#_.net_Fiddler_Web Push - Fatal编程技术网

C# WebPush{“收到意外响应代码”}

C# WebPush{“收到意外响应代码”},c#,.net,fiddler,web-push,C#,.net,Fiddler,Web Push,如何使用Webpush库发送通知。我正在尝试,但它抛出错误消息,如{“收到意外响应代码”} ****现在我已经创建了web API来发送通知&通过fiddler调用您,但并没有出现异常,因为它被卡在了某个地方 这是我的代码示例**** public void Sendnotification() { try { WebPush.VapidDetails vapidKeys = apidHelper.GenerateV

如何使用Webpush库发送通知。我正在尝试,但它抛出错误消息,如
{“收到意外响应代码”}

****现在我已经创建了web API来发送通知&通过fiddler调用您,但并没有出现异常,因为它被卡在了某个地方 这是我的代码示例****

public void Sendnotification()
        {
            try
            {
       WebPush.VapidDetails vapidKeys = apidHelper.GenerateVapidKeys();
         string subject =@"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)
            {

            }
        }
我已将Https配置为使用FIDER调用api。请仔细看看。它也会抛出错误,卡在某个地方

现在它出现了错误,请查看它显示的错误HTTP/1.1 410 NotRegistered


如果您收到错误410(要检查错误,请使用以拦截https呼叫),可能是用户的订阅数据中存在错误可能是数据库中存储的密钥与浏览器中的订阅不匹配一个简单的修复方法可能是重新订阅并重新保存订阅数据,然后重试

要设置fiddler,您必须将其用作VisualStudio的代理来拦截https调用,还必须启用https解密

编辑

只需在web.config或app.config中添加此配置,即可设置fiddler:

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

如果在任何情况下,您获得未经授权的注册,请检查以下问题:


使用wireshark或fiddler等嗅探器获取有关错误的更多详细信息。如果可以使用浏览器执行相同的请求,请将浏览器结果与应用程序进行比较。像这样的大多数错误都是由于您的请求中缺少html标题造成的。请使用纯文本而不是图像更新您的问题,顺便说一句,我收到了相同的错误,错误为410,未注册为响应。我正在使用命令行进行测试,以便使用WebPush库在web应用程序上发送通知。你能告诉我这是什么程序吗。如果你能给我一些样品的话,那就太好了good@VineetKumarRai您在webPushException中得到的异常是什么?内部异常是否为空?你能贴出你的小提琴手的痕迹吗?它在catch中没有显示异常,它粘在了某个地方,我还启用了https通过fiddler调用api请让我知道如何使用webpush Library在web应用程序上发送通知现在我已经创建了用于发送通知的web api&使用fiddler调用,但它被卡在了某个地方没有出现任何异常只需使用fiddler拦截https调用,在visual studio中将其用作代理,检查我的更新我正在使用web推送库。如果您能详细解释一下,那将非常有帮助,因为您不需要编写任何代码,只需在visual studio中将fiddle配置为代理,就可以捕获真正的异常,因为我看到您没有拦截web推送库对google端点所做的https调用,一旦得到错误响应,就可以开始调试“真正的错误”,这可能非常简单