Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 与浏览器上运行的Javascript共享程序变量值_C#_Javascript - Fatal编程技术网

C# 与浏览器上运行的Javascript共享程序变量值

C# 与浏览器上运行的Javascript共享程序变量值,c#,javascript,C#,Javascript,我正在开发一个C#windows窗体应用程序,它可以在客户端PC上扫描护照 在同一台客户端PC中,用户将打开一个带有一些文本框的网页 有没有办法与浏览器页面共享windows窗体应用程序的某些值 (是否可以通过浏览器JavaScript的RPC调用Windows App中的某些函数,或者共享或发送这些值的任何机制) .您需要在C#app中实现一个小型的http服务器,该服务器可以响应http请求。然后,您的网页可以向相应的URL发出GET请求,以获取数据以填充字段。您可以将web服务器用作可相互

我正在开发一个C#windows窗体应用程序,它可以在客户端PC上扫描护照 在同一台客户端PC中,用户将打开一个带有一些文本框的网页

有没有办法与浏览器页面共享windows窗体应用程序的某些值

(是否可以通过浏览器JavaScript的RPC调用Windows App中的某些函数,或者共享或发送这些值的任何机制)
.

您需要在C#app中实现一个小型的
http
服务器,该服务器可以响应http请求。然后,您的网页可以向相应的URL发出
GET
请求,以获取数据以填充字段。

您可以将web服务器用作可相互访问的资源。c#应用程序可以向服务器发送数据,web浏览器可以使用AJAX轮询/侦听来自web服务器的更新。如果Windows应用程序也连接到服务器,它可能会从网页接收更新

或者,如果您想在Windows应用程序和网站之间一次性共享数据,您可以:

  • 在Windows应用程序中收集数据
  • 将其发送到服务器
  • 接收唯一的ID
  • 使用查询字符串中的唯一ID启动web浏览器
  • 网站查找Windows应用程序刚刚发送的数据

当然,还有其他方法可以做到这一点。我的目标是避免需要了解正在使用的web浏览器,例如需要下载插件以促进浏览器和Windows应用程序之间的通信。

您可以使用querystring发送您的值,如果它是你的网页。如果需要支持多个浏览器并且有大量数据,那么+1是一种合理的方法。确保使用一些非标准端口(以避免与80/443发生冲突),并阅读跨站点脚本/“同源策略”,以了解如何在域(页面和本地主机)之间获取数据。另外,可能还需要将某种会话Id发送到浏览器的页面(Michal Klouda建议的查询字符串是一个选项)。