我有一个完全使用 .net C# 构建的 Web 服务。现在我想使用 signalR 或 Node JS,以便如果 Web 服务有一些更新,它可以将其推送到 html javascript 中的客户端。
设计考虑:
我在 IIS 上运行我的 Web 服务。
Html javascript中的客户端
用户数可能很高。可能是 100 或 200
网络服务将长期频繁更新。
Web 服务进行 DB 调用和少量计算
服务器规范不是问题。
需要 Web 服务的稳定性和安全性
我有一个完全使用 .net C# 构建的 Web 服务。现在我想使用 signalR 或 Node JS,以便如果 Web 服务有一些更新,它可以将其推送到 html javascript 中的客户端。
设计考虑:
我在 IIS 上运行我的 Web 服务。
Html javascript中的客户端
用户数可能很高。可能是 100 或 200
网络服务将长期频繁更新。
Web 服务进行 DB 调用和少量计算
服务器规范不是问题。
需要 Web 服务的稳定性和安全性
如果您已经在后端使用 Microsoft 堆栈(.NET、C#、IIS),那么使用 SignalR 将是有意义的,因为它将与您现有的堆栈很好地集成。
你已经有 C# 的开发经验,你也有 NodeJS 的经验吗?如果不是,那么这是一个需要考虑的重点,因为会有一个学习期,您将习惯于 Node 编程 javascript 的方式。
100-200 个用户对于 NodeJS 或 SignalR 来说都不算多。SignalR 使用 .NET 的一些异步特性,因此在准备好发生某些事情之前(例如,您可能正在等待 DB IO),打开的连接不会使用线程。同样,节点中的所有 IO 都应该异步完成。
如果您使用的是 SQL 服务器,那么您可能会发现使用 SignalR 开辟了其他可能性,例如使用实体框架来提高生产力并让您的产品更快地推向市场。
至于稳定性和安全性,这些通常取决于您设计、编写和配置应用程序的方式,而不是技术堆栈本身。
编辑:一些资源,用于开始我过去发现有用的相应技术: