在 asp.net c# 中创建 iPhone 推送通知 Web 服务

Posted

技术标签:

【中文标题】在 asp.net c# 中创建 iPhone 推送通知 Web 服务【英文标题】:Create an iPhone push notifcation web service in asp.net c# 【发布时间】:2009-09-25 13:56:14 【问题描述】:

有谁知道如何在我可以使用 JSON 协议调用的 asp.net (C#) 中创建 iPhone 推送通知 Web 服务的步骤?我希望能够通过 http 请求将警报发送到另一个 iphone 设备 ID。这可能吗?任何示例代码都会有所帮助。

【问题讨论】:

Web 服务不是基于推送的。它们建立在 HTTP 之上,与网页相同,本质上是一种拉协议。您可能应该写一个更通用的问题“您将如何为 iPhone 构建推送通知应用程序”?您使用的特定服务器端技术是次要的。 我认为这是一个很好的问题。应该可以编写一个 ASP.NET 服务,该服务通过 JSON 与其客户端通信,但也使用苹果的二进制格式与苹果推送服务(然后在 iPhone 上)进行通信。我需要做类似的事情。当我有答案时,我会在这里发布。 【参考方案1】:

iPhone 3.0 及更高版本支持通过 Apple 的服务器推送通知,请参阅SDK。我建议您使用该技术,因为它允许您的应用在不运行时接收消息,并且不会导致使用比您的 iPhone 更多的电池电量。

此外,正如 Rex M 上面已经提到的,Web 服务不支持开箱即用的推送技术。一种通过 Web 服务推送的方法是 Microsoft Exchange 使用的方法:进行服务器调用,然后让服务器阻塞(即不回复),直到服务器为客户端更新。所以:

    客户端向服务器发出请求 客户端和服务器之间的连接已打开 服务器阻止请求。 过了一会儿,服务器要更新客户端,最后才响应客户端。

在这个模型中,客户端需要保护服务器和客户端之间的连接。如果由于任何原因掉线,客户端需要开始一个新的连接。断开连接的一个原因是中间的防火墙超时,甚至可能是 IIS 超时。

【讨论】:

以上是关于在 asp.net c# 中创建 iPhone 推送通知 Web 服务的主要内容,如果未能解决你的问题,请参考以下文章

如何在asp.net c#中创建连接字符串

如何在 C# Asp.net MVC 中创建 websocket 客户端?

如何在 C# Asp.Net 中从相当复杂的 Json 响应中创建 Dto

在 Asp.net C# 中创建动态控件,并缓存控件并绑定数据

如何在 Asp.NET Core WEB API 中使用 .Net (C#) 在 Payload 中创建具有自定义 JSON 声明的 JWT 令牌

使用 C# 在 ASP.NET MVC 3 中创建级联下拉列表的最简单方法