gpt4 book ai didi

c# - 如何让我的 Web 应用程序与我的桌面应用程序通信?

转载 作者:行者123 更新时间:2023-11-30 23:59:51 25 4
gpt4 key购买 nike

我在 C#.NET 中开发了一个 Web 和 Windows 应用程序。现在,我想做的是,当在 Web 应用程序的特定页面上单击按钮时,必须向 Windows 应用程序发送一个信号,说明已单击了一个链接。我怎么能很容易做到这一点?我想远离套接字编程......

我想到了存储 cookie 的 Web 应用程序和监视 cookie 文件夹的桌面应用程序,但这似乎有点笨拙。

最佳答案

一个简单的 Web 服务应该可以解决问题。只需在 ASP.NET 中创建一个服务并将其添加为对您的桌面应用程序的引用。完成如此简单的任务没有必要过度杀伤力。

您可以使用 WCF 或 Remoting 或 Sockets —— 为什么在学习曲线如此之高的情况下浪费时间?创建 Web 服务完全不需要时间,并且应该为您提供所需的所有功能。

这是一个简短的演练,可以帮助您启动和运行。

  • 在 Visual Studio 中,创建一个新网站并选择 ASP.NET Web 服务。
  • 将创建一个名为 HelloWorld 的 stub 方法,例如

    [网络方法]

    公共(public)字符串 HelloWorld() {
    return "Hello World";

    }
  • 运行您的网站。
  • 转到您的桌面应用程序。
  • 在您的解决方案资源管理器下,右键单击项目并单击添加 Web 引用
  • 输入运行 Web 服务的 URL,然后单击 Go**
  • 找到引用后,将其重命名为有意义的名称,然后单击添加引用。
  • 您现在可以访问 Web 服务公开的方法,就好像它们是本地对象一样。您现在应该能够看到服务公开的 HelloWorld 方法。

  • ** 请记住,为了获得带有静态 URL 的 Web 引用,您需要在 IIS 中托管该引用。当 Visual Studio 从 IDE 运行您的服务时,它将创建一个临时 URL 和端口,这将在 future 运行时发生变化。这只是为了向您展示使用 Web 服务是多么简单。

    通过在方法上方添加 [WebMethod] 标志,您可以在与 HelloWorld 方法相同的类中添加自己的方法和返回类型。如果您更改了服务中的某些内容,请返回桌面应用程序,右键单击该服务,然后单击更新。

    关于c# - 如何让我的 Web 应用程序与我的桌面应用程序通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3397051/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com