【问题标题】:How to connect desktop application and browser?如何连接桌面应用程序和浏览器?
【发布时间】:2018-11-27 20:18:34
【问题描述】:

例如,我有一个桌面应用程序(例如,一个高性能计算器)和一个 asp mvc iis 服务器,而远程客户端使用 Web 浏览器。

1) 如何配置桌面应用程序与服务器之间的交互?我可以使用 WCF 在计算器和 asp 之间进行进程间通信吗?

|计算器| |IIS (ASP.NET MVC)| |客户端(浏览器)|

2) 如果将应用程序功能转移到服务器上,对性能的影响有多大?

|IIS(ASP.NET MVC 计算器)| |客户端(浏览器)|

3) 有没有办法从浏览器向应用程序发出请求,例如 (WCF + ajax)?

|计算器| |客户端(浏览器)|

【问题讨论】:

  • 如今使用 WCF 已经不是什么好主意了。 SignalR 用作桥接器非常简单,您可以将其托管在 IIS 上或使用 Azure SignalR 服务。总的来说,你上面的问题太宽泛了。除了 SignalR,您还可以找到其他选项。
  • 此外,这并不是互联网的真正运作方式。您需要来回传递标识符,以确保您正在与双方正确的浏览器/桌面应用程序通信。

标签: c# asp.net .net iis


【解决方案1】:

要让它在客户端上运行,你的计算器需要用 javascript 实现。

我的方法是将计算器实现为 dotnet 核心微服务,并让客户端代码使用 jQuery 向该服务发出 ajax 请求。

如果您无法更新路由以从外部访问微服务,则可能需要向调用微服务的 Web 应用程序添加包装器方法。

【讨论】:

    【解决方案2】:

    1) 在 ASP.NET 应用程序中,您可以将 dll 作为库调用。这个 dll 应该可以访问您的计算器的后端。

    2) 您应该为每个用户启动一个计算器实例,并根据某些会话保持打开状态。每次交互之间大约有 50-300 毫秒的延迟。这应该通过让 JS 做一些用户界面动画等来补偿。

    3) 是的,这个“ajax”是一个 XmlHttpRequest。例如,POST 或 GET 请求是此类请求的两种形式。基本上,您将纯文本 JSON 数据来回发送到您的网络服务器上的 url。您的网络服务器在 ASP.NET 的控制器中接收此信息并对其进行处理,然后做出响应。有诸如 websockets 之类的替代方案,但这不是一个好的起点。

    【讨论】:

      猜你喜欢
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 2016-08-23
      • 2012-02-01
      • 2013-07-30
      • 2013-09-01
      • 1970-01-01
      • 2011-02-06
      相关资源
      最近更新 更多