【问题标题】:C# .NET web application Web Form message other Web Form on data changedC# .NET Web 应用程序 Web 窗体消息 其他 Web 窗体上的数据已更改
【发布时间】:2017-03-24 09:56:12
【问题描述】:

好的,这是我的情况。我一直在互联网上寻找,但找不到任何解决此问题的方法。

我在 C# .NET 中有两个不同的 Web 应用程序。第一个(我们称之为应用程序A)是创建、插入、更新和删除数据库的数据。第二个(应用程序B)只是在屏幕上显示来自数据库的信息,但它可以自己更新一些小东西,单个页面分为不同的部分,每个部分都有一个更新面板,因为某些东西需要更新比其他人更频繁。

我想要的是,如果应用程序 A 将任何数据更改到数据库,我希望应用程序 B 更新其更新面板,所以我希望应用程序 A 向应用程序 B 发送某种消息。目前更新面板每 x 更新一次秒这对服务器来说太可怕了。

请注意,应用程序 B 可以有不同的客户端,每个客户端都有自己独特的数据。

有没有人知道如何解决这个问题以及可以使用哪些技术?

【问题讨论】:

  • 您在 Internet 上寻找现成的解决方案 - 而不是想一个方案来实现您的请求。如果你在谷歌上搜索,会有很多例子。

标签: c# sql asp.net webforms sendmessage


【解决方案1】:

CORS 请求怎么样?

从应用程序 A 向应用程序 B 编写 AJAX 调用,这样每当更新过程完成时,它应该发送调用(您当然可以使用 Web 方法来实现此目的),并且在应用程序 B 中,您可以从函数更新面板

【讨论】:

  • 我从来没有听说过CORS,我去读一下,谢谢!
【解决方案2】:

SqlDependency 是一个特殊的 .NET 类,它允许您订阅事件,然后订阅的命令从 SQLServer 获取通知 从 https://msdn.microsoft.com/en-us/library/62xk7953(v=vs.110).aspx

【讨论】:

    【解决方案3】:

    通常,对于 Web,服务器在客户端请求之前不会执行任何操作。在这种情况下,请求的不是客户端,而是另一台服务器。如果您希望应用程序 B 在客户端不要求的情况下更新客户端,您将不得不在应用程序 B 与其客户端之间执行 WebSocket 或其他一些推送系统。

    要将数据从应用程序 A 发送到应用程序 B,您需要使用几种不同的 IPC(进程间通信)工具之一。最简单的可能是在应用程序 A 和应用程序 B 之间设置 UDP 或 TCP 套接字。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      • 2018-01-05
      • 2012-01-23
      • 1970-01-01
      相关资源
      最近更新 更多