【问题标题】:Sendkey doesn't work on IISSendkey 在 IIS 上不起作用
【发布时间】:2018-04-17 14:06:20
【问题描述】:

如何在 asp.net c# 中使用 sendkey 或 SendKeys.SendWait

我只想在本地主机上使用它。 它适用于 Visual Studio,但不适用于 IIS,我将 applicationPoolIdentity 更改为管理员,但我总是遇到同样的问题“访问被拒绝”。

【问题讨论】:

  • 将密钥发送到哪里?您无法将密钥发送给客户端,这是您正在尝试的吗?
  • 这是一个 XY 问题 - meta.stackexchange.com/questions/66377/what-is-the-xy-problem为什么你要使用SendKeys
  • Sendkeys 是针对桌面环境的 System.Windows.Forms 的一部分。尝试使用 Javascript 来实现你想要的。
  • 那么...您认为网页可以向客户端发送密钥吗?例如,如果访问的网页将向客户端发送 ALT + F4 会关闭浏览器?
  • 应用程序池标识本身没有帮助,因为 IIS 服务被拒绝访问所有桌面 api。您可以通过在“万维网发布服务”的登录选项卡上选中“允许服务与桌面交互”来启用此功能。我不确定 iis 服务进程和子进程工作者之间的关系,但这可能会做到这一点。无论如何,这都是非常糟糕的做法。尝试使用任何 IPC 来执行您想要的操作。如果您绝对必须,请编写一个小型可执行文件来执行该操作并直接公开一个 IPC 端点供服务器使用。

标签: c# asp.net sendkeys


【解决方案1】:

SendKeys 是一种用于桌面开发的方法,而不是 Web。它是 Windows 功能,您无法从浏览器访问此类操作系统功能(想想如果可以的话会发生什么!)。您仅限于浏览器中的内容:HTML、Javascript 和 CSS。

如果您想对加载的 HTML 进行更改,您可能应该考虑使用 Javascript 解决方案。

【讨论】:

  • 想想如果可以的话会发生什么?我没有在 LOCALHOST 中,iis 和浏览器在同一个操作系统上
  • @MohamedNassiri 在构建网站时,假设 Web 服务器与运行 Web 浏览器的机器通常不是一个好主意。既然,如果你打算做出这样的假设,为什么还要使用网站呢?本地应用会更简单。
猜你喜欢
  • 2016-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多