- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道为什么这不起作用,也没有抛出任何错误。所有订阅的事件都不会被触发(包括 OnNotificationSent
和 OnNotificationSendFailure
)。该代码几乎与 PushSharp 的 sample code in GIT 相同,唯一的区别是它在线程内运行:
public class MyNotificationService
{
ILog _log = LogManager.GetLogger("");
PushService _PushService;
public void Start()
{
PushService _PushService;
byte[] appleCert = File.ReadAllBytes("myCert.p12");
_PushService = new PushService();
_PushService.Events.OnChannelCreated += Events_OnChannelCreated;
_PushService.Events.OnChannelDestroyed += Events_OnChannelDestroyed;
_PushService.Events.OnChannelException += Events_OnChannelException;
_PushService.Events.OnDeviceSubscriptionExpired += Events_OnDeviceSubscriptionExpired;
_PushService.Events.OnDeviceSubscriptionIdChanged += Events_OnDeviceSubscriptionIdChanged;
_PushService.Events.OnNotificationSendFailure += Events_OnNotificationSendFailure;
_PushService.Events.OnNotificationSent += Events_OnNotificationSent;
_PushService.StartApplePushService(new ApplePushChannelSettings(false, appleCert, "myPass"));
_MainThread = new Thread(() =>
{
try
{
var nt = NotificationFactory.Apple()
.ForDeviceToken("60A378B0FF0628FB52461C6F9F2CEDAA29A05D52F97EF2E811")
.WithAlert("Test")
.WithSound("default")
.WithCustomItem("data", "some other data")
.WithBadge(7);
_PushService.QueueNotification(nt);
}
catch (Exception e)
{
_log.Error("In main thread", e);
}
}
});
_MainThread.Start();
}
static void Events_OnDeviceSubscriptionIdChanged(PlatformType platform, string oldDeviceInfo, string newDeviceInfo, Notification nt)
{
//Currently this event will only ever happen for Android GCM
_log.Debug("Device Registration Changed: Old-> " + oldDeviceInfo + " New-> " + newDeviceInfo);
}
static void Events_OnNotificationSent(Notification nt)
{
_log.Debug("Sent: " + nt.Platform.ToString() + " -> " + nt.ToString());
}
static void Events_OnNotificationSendFailure(Notification nt, Exception notificationFailureException)
{
_log.Error("Failure: " + nt.Platform.ToString() + " -> " + notificationFailureException.Message + " -> " + nt.ToString());
}
static void Events_OnChannelException(Exception exception, PlatformType platformType, Notification nt)
{
_log.Error("Channel Exception: " + platformType.ToString() + " -> " + exception.ToString());
}
static void Events_OnDeviceSubscriptionExpired(PlatformType platform, string deviceInfo, Notification nt)
{
_log.Debug("Device Subscription Expired: " + platform.ToString() + " -> " + deviceInfo);
}
static void Events_OnChannelDestroyed(PlatformType platformType, int newChannelCount)
{
_log.Debug("Channel Destroyed for: " + platformType.ToString() + " Channel Count: " + newChannelCount);
}
static void Events_OnChannelCreated(PlatformType platformType, int newChannelCount)
{
_log.Debug("Channel Created for: " + platformType.ToString() + " Channel Count: " + newChannelCount);
}
}
同样,没有任何事件被触发(没有记录,没有命中断点)。奇怪的是,调用 StopAllServices
会永远挂起,显然什么也没做。我已经多次检查我的配置文件和证书,但没有发现它们有任何问题。有什么想法吗?
编辑:
事实证明,只有当我从 Windows Service .Net 项目运行它时,问题才会重现。从控制台应用程序,一切正常。我认为这是阻止网络访问的权限问题,但我无法让它工作。
最佳答案
我遇到了完全相同的问题!我在我的 exe 引用的 dll 中使用 push sharp。我通过将以下内容添加到我的 app.config 解决了这个问题:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
确保 Newtonsoft.Json dll 在您的 bin 文件夹中!
关于c# - PushSharp 通知 Apple 的 APNS 不工作,不抛出任何异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13871806/
我使用 PushSharp 发送一些应用程序的通知。PushSharp 很棒,它确实简化了推送服务的工作,我想知道使用它的正确方法是什么?我还没有找到相关的示例/解释。 现在,当我有消息要发送时,我.
我正在实现 Apple 通知推送服务并正在处理内部队列。 我想知道 PushSharp 通知是否总是引发“NotificationSent”或“NotificationFailed”事件(一个或另一个
我在我的应用程序中使用 PushSharp 发送推送通知。它在 Android 上运行良好。 对于 Apple iOS - 它不工作,我们正在使用带密码的开发证书文件。最初我们使用了错误的密码,后来我
当我在生产环境中使用具有以下推送通知证书的企业帐户时,我的应用程序正在收到推送通知: 苹果生产 iOS 推送服务 然后为了在应用商店发布我的应用程序,我开始使用应用商店帐户,无论我尝试什么,苹果都会以
我目前正在开发一个 C# 网络应用程序,我正在尝试使用 PushSharp 包来获取推送通知。我在项目的 Global.asax 文件中拥有用于推送通知的所有代码,但我不断收到错误消息: The co
我们正在使用 PushSharp发送 GCM (Google Android) 通知。将来我们还将使用该库的 IOS 和 WinPhone 部分。 有一些事件,例如: OnDeviceSubscrip
我有一个简单的代码: PushBroker pushBroker = new PushBroker(); string path = HttpContext.Current.Server.MapPat
使用 Pushsharp(nuget 包)的 v4.0.10,出现错误 GCM Authorization Failed向 Android 设备发送推送通知时。 似乎问题 574 ( https://
我正在开发一个针对 iOS 和 Android 的 Xamarin Forms 项目。因为我想要推送通知,所以我遇到了 PushSharp。在此视频中(大约 25 - 30 分钟):https://w
我正在使用 PushSharp 4.0.10在 Apns 代理的 OnNotificationFailed 事件中,我收到“不支持请求的功能”异常。有我的 Broker 创建者 private sta
我正在尝试测试与 Apple 的推送通知沙箱服务器的对话。 我按照this link做了一个证书(启用推送通知、请求证书颁发机构、上传、生成证书、导出 p12) 我制作了一个示例 C# 控制台应用程序
为了加快大量 Apple 推送通知 (APN) 的发送速度,建议并行调用 APN(APN 服务器)- 最多 20 个并发调用。 C#跨平台推送库吗PushSharp iOS 通知默认这样做吗?如果没有
我有如下所示的标准 pushsharp 代码 PushBroker push = new PushBroker(); var appleCert = File.ReadAllBytes(@"m
我正在使用 PushSharp向应用程序发送 iOS 通知。 我已经按照示例设法使其在开发环境中工作,但是当我尝试在生产环境中发送它们时,出现以下错误: InnerException = {"No s
我正在使用 APNS Sharp 在 IOS 中发送推送通知。我已经在开发环境中成功地使用了它。但是当应用程序运行时它不再工作。我已将推送证书更改为部署证书。并更改代码以指向苹果服务器 push.Re
PushSharp 仅在调用停止时处理队列。有谁知道 push sharp 处理队列或刷新队列的频率?我不想每次发送通知时都调用 stop 和 start 来节省资源。 pus
我使用的是 PushSharp 2.1.2 版。该应用程序是 .NET 4.5.1(尽管我也尝试过针对 .NET 4.5 和 .NET 4) 我正在尝试通过沙盒 Apple APNS 发送推送消息,但
我们已经实现了 PushSharp 来向我们的企业 iOS 设备发送推送通知。这是从 Windows 机器发送的,我们自定义了 PushSharp 代码,以便从计划每分钟运行一次的控制台应用程序调用(
我的 Android 和 Apple 推送通知与 PushSharp 配合使用,但我无法通过 Apple 通知发送自定义数据。 这发送完美: push.QueueNotification(new Ap
所以我在我的 ASP.NET mvc 应用程序中使用 push sharp,但我一直收到连接失败错误。我为 push sharp 安装了 NUGET 包,所以我无法访问源代码。我花了一段时间才意识到我
我是一名优秀的程序员,十分优秀!